一、read 读取控制台输入
1.基本语法
read(选项)(参数)
选项:
-p:指定读取值时的提示符
-t:指定读取值时等待的时间(秒)
参数
变量:指定读取值的变量名
案例:
提示7秒内,读取控制台输入的名称
#!/bin/bash
read -t 7 -p "Enter your name in 7 seconds" NAME
echo $NAME
二、函数
1.系统函数
1.basename 基本语法
basename [string/pathname][suffix]
功能描述:basename命令会删除所有的前缀包括最后一个(‘/’)字符,然后将字符串显示出来。
选项:
suffix为后缀,如果suffix被指定了,basename会将pathname或string中的suffix去掉。
案例如下:
截取该 /data/test/helloworld.sh路径的文件名称
2.dirname基本语法
dirname 文件绝对路径
功能描述:从给定的包含绝对路径的文件名中去除文件名(非目录的部分),然后返回剩下的路径(目录的部分)
案例如下:
获取helloword.sh的路径
2.自定义函数
1.基本语法
[function] funname[()]
{
Action;
[return int;]
}
funname
2.经验技巧
(1)必须在调用函数地方之前,先声明函数,shell脚本是逐行运行。不会像其它语言一样先编译。
(2)函数返回值,只能通过$?系统变量获得,可以显示加:return 返回,如果不加,将以最后一条命令运行结果作为返回值。return后跟数值n(0-255)
案例:
计算两个输入参数的和
#!/bin/bash
function add()
{
s=0;
s=$[$1+$2]
echo $s
}
read -p "please input parameter1;" P1
read -p "please input parameter2;" P2
add $P1 $P2