shell 程序传参

版权声明:本文为作者创作,转载请注明出处:http://blog.csdn.net/claroja,如有商业用途请联系QQ:63183535。 https://blog.csdn.net/claroja/article/details/88425858

位置参数类变量(脚本传入的参数)

变量 描述
$n n为数字,$0代表命令本身,$1-$9代表第一到第9个参数,十以上的参数需要用大括号包含,如${10}。
$* 代表命令行中所有的参数,把所有的参数看成一个整体。以"$1 $2 … $n"的形式输出所有参数
$@ 代表命令行中的所有参数,把每个参数区分对待。以"$1" “ 2 " " 2" … " n” 的形式输出所有参数
$# 代表命令行中所有参数的个数。添加到shell的参数个数

在脚本中可以输入shift:
shift指令:参数左移,每执行一次,参数序列顺次左移一个位置,$# 的值减1,用于分别处理每个参数,移出去的参数不再可用

$* 和 $@的区别
$* 和 $@ 都表示传递给函数或脚本的所有参数,不被双引号" “包含时,都以”$1" “ 2 " " 2" … " n” 的形式输出所有参数
当它们被双引号" “包含时,”$*" 会将所有的参数作为一个整体,以"$1 $2 … n " " n"的形式输出所有参数;" @" 会将各个参数分开,以"$1" “ 2 " " 2" … " n” 的形式输出所有参数

猜你喜欢

转载自blog.csdn.net/claroja/article/details/88425858