linux shell 脚本执行命令(每天三分钟搞定linux)

linux shell 脚本执行命令(每天三分钟搞定linux)(1)

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

linux shell 脚本执行命令(每天三分钟搞定linux)(2)

命令行中使用shift

shfit指令会把命令行中的参数进行左移操作,把$3的值给$2,$2的值给$1,$1的值被丢弃,注意$1的值不会给$0shfit后面可以加参数,表示左移几个参数,比如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

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。