shell脚本3-用户输入

读取参数

bash shell会将所有的命令行参数都指派给称作位置参数(positional parameter)的特殊变量。这也包括shell脚本名称。位置变量的名称都是标准数字:$0对应脚本名,$1对应第一个命令行参数,$2对应第二个命令行参数,以此类推,直到$9

#!/bin/bash
product=$[ $1 * $2 ]
echo The first parameter is $1
echo The second parameter is $2
echo The product parameter is $product
echo The filename is $0
exit

输出:
The first parameter is 2
The second parameter is 3
The product parameter is 6
The filename is ./test7

如果脚本需要的命令行参数不止9个,则仍可以继续加入更多的参数,但是需要稍微修改一下位置变量名。在第9个位置变量之后,必须在变量名两侧加上花括号,比如${10}

cat test8
#!/bin/bash
product=$[ ${10} * ${11} ]

echo the parameter is ${10}
echo the parameter is ${11}
echo the ${10}*${11}  is $product

输出
./test8 1 2 3 4 5 6 7 8 9 15 18
the parameter is 15
the parameter is 18
the 15*18 is 270

判断命令行参数

特殊变量$#含有脚本运行时携带的命令行参数的个数

cat test9
#!/bin/bash

if [ $# != 2 ]
then
   echo "需要输入两个变量"
else
   total=$[ $1 + $2 ]
   echo $1 + $2 is $total
fi
exit
输出
./test9
需要输入两个变量

./test9 23 12
23 + 12 is 35

$#变量含有命令行参数的总数,${!#}应该就代表了最后一个位置变量

当命令行中没有任何参数时,$#的值即为0,但${!#}会返回命令行中的脚本名。

移动参数-shift

该命令可用于操作命令行参数。跟字面上的意思一样,shift命令会根据命令行参数的相对位置进行移动

标准文件描述符

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值