linux shell 脚本执行命令(每天三分钟搞定linux)
shell命令行中的特殊参数
如果想知道命令行中所有参数的个数,可以使用$#;
如果想知道命令行中最后一个参数,使用${!#},如果没有参数的话,那么${#!}就是程序名;
$*会把参数当做一个整体;
$@会把参数也当作一个整体,不过可以用for指令一个个取出来,这样就可以遍历命令行参数。
建立脚本test39.sh如下:
#/bin/bash
echo "param num is $#"
echo "the last param is ${!#}"
for item in "$*";do
echo "item -> $item"
done
for item in "$@";do
echo "item -> $item"
done
运行如下:
./test39.sh wu lin wai zhuan
结果如下:
param num is 4
the last param is zhuan
item -> wu lin wai zhuan
item -> wu
item -> lin
item -> wai
item -> zhuan
命令行中使用shift
shfit指令会把命令行中的参数进行左移操作,把$3的值给$2,$2的值给$1,$1的值被丢弃,注意$1的值不会给$0。shfit后面可以加参数,表示左移几个参数,比如shift 2表示左移2
建立如下脚本:
#/bin/bash
while [ -n "$1" ];do
echo "param is $1"
shift
done
运行如下:
./test40.sh wu lin wai zhuan
结果如下:
param is wu
param is lin
param is wai
param is zhuan
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。