当前位置:首页>Linux>Linux脚本说明,shell输入语句和脚本退出

Linux脚本说明,shell输入语句和脚本退出

  • 2026-10-11 17:02:02
Linux脚本说明,shell输入语句和脚本退出
对于shell脚本来说,可以接收外部输入的数据,并将结果输出保存;这就依赖read命令和$?全局变量,在本节中进行详细说明。

脚本输入变量

1. shell脚本输入和示例 

shell脚本输入变量通过$n(n=1,2...)获取输入值,具体格式如下所示。

# $1, $2表示文件输入值
# 如 ./test.sh test1 test2
# 则 $1=test1, $2=test2 
echo"read 1 value is $1"
echo"read 2 value is $2"

读取命令行输入的值使用read命令,支持选项如下所示。

读取命令行输入的值使用read命令。

选项
功能
-p
显示提示信息
-t
设置读入数据的超时时间
-n
设置读取n个字符后结束,默认会读取标准输入的一整行内容
-r
支持读取, 而默认read命令会将\理解为转义字符
-s
静默模式,不显示输入内容
-t
设置超时时间(单位s),超时自动退出

具体示例如下所示。

# 读取外部数据,存储到value中
read -p "read:" value; 

# 超时等待5s输入用户名
read -t 5 -p "输入用户名:" user
read -s -p "输入密码:" passwd
useradd "$user"
echo$passwd | passwd --stdin "$user"

脚本离开处理

在shell脚本中,用`$?`表示执行的状态,可以用exit命令返回脚本执行的结果,具体示例如下所示。

# 打印执行状态
if [[ $? -ne 0 ]]; then
read -p "shell faild, wheather exit?(y/n, default is y)" exit_val

if [ -z ${exit_val} ] || [ ${exit_val} == 'y' ]; then
exit 1
fi
fi

当判断其它脚本或命令执行结果不为0,此时执行结束并返回结果1,同样更新到$?中,用于后续脚本或者命令处理。

最新文章

随机文章