shell脚本while循环、read读取控制台输入与函数

  • shell脚本while循环、read读取控制台输入与函数已关闭评论
  • 58 次浏览
  • A+
所属分类:linux技术
摘要

声明:
以下为个人笔记,内容不完全正确,请谨慎参考。while循环结构
while [条件判断]
do
程序
done
脚本示例:

shell脚本while循环、read读取控制台输入与函数

声明:
以下为个人笔记,内容不完全正确,请谨慎参考。

while循环

while循环结构
while [条件判断]
do
程序
done
脚本示例:

点击查看代码
#!/bin/bash while [ $a -le $1] do 	sum=$[ $sum + $a ] done echo $sum 

简易写法:

点击查看代码
#!/bin/bash a=1 while [ $a -le $1 ] do 	let sum+=a 	let a++ done echo $sum 

read 读取控制台输入
基本语法:
read(选项)(参数)
1、选项
-p: 指定读取值时的字符;
-t: 指定读取值等待时间(秒->s)如果-t 不加表示一直等待。
2、参数
变量: 指定读取值的变量名
示例:

点击查看代码
#!/bin/bash read -t -p "请在5s内输入您的相关个人信息,超时将退出。" AS echo $AS 

函数

先举一个小栗子:

点击查看代码
#!/bin/bash filename="$1"_log$(datename +%s) echo $filename 

1.1 basename
基本语法

basename [string/patename] [suffix]
功能描述:basename命令会删掉所有的前缀包括最后一个('/')字符,然后将字符串显示出来。
basename可理解为去路径的文件名
选项:
suffix为后缀,如果suffix被指定了,basename会将pathname中的suffix去掉。
脚本示例:

点击查看代码
#!/bin/bash echo '========== $n ===========' echo /home name: $(basename $0 .sh) echo /home/xiaohu name: $(cd  $(dirname $0); pwd) echo op name: $1 echo op name: $2 

自定义函数:
基本语法:
[function] funname[0]
{
ACTION
[return int;]
}
技巧:
1、必须在调用函数地方之前,先声明函数,shell脚本是否在逐步运行,不会像其他语言一样先编译。
2、函数返回值,只能同归$?变量获得,可以显示加: return返回。
如果不加,将以最后一条命令运行结果,作为返回值。renturn[0~255]
脚本示例:

点击查看代码
#!/bin/bash function add(){ 		s=$($1 + $2) 			echo $s }  echo '=========== 调用参数 ============' read -p "请输入第一个整数:" a read -p "请输入第二个整数: " b  echo '=============== 传参 =========' sum=$[add $a $b] echo "和:"$sum echo "和的平方:"$[$sum * $sum]