linux shell传递参数

xiaoxiao2025-05-18  24

shell 传递参数 可以在执行shell脚本时,向脚本传递参数,脚本获取参数格式:$n. n代表数字,1为脚本的第一个参数,2为执行脚本的第二个参数,一次类推。 例:

#文件名test.sh echo "shell 传递实参"; echo "执行文件名 $0"; echo "第一个参数 $1" echo "第二个参数 $2";

执行脚本

$ chmod +x test.sh #修改文件为可执行文件 $ ./test.sh 1 2 shell传递实参 执行文件名 ./test.sh 第一个参数1 第二个参数2

特殊符号处理参数

参数处理说明$#传递到脚本的个数$*以一个单字符串显示所有向脚本传递的参数$$脚本运行的当前进程ID$!后台运行的最后一个进程ID号$@与$#相似,使用时加双引号,并在引号中返还每个参数$-显示Shell使用的当前选项,与set命令相同$?显示最后的命令退出状态。0表示无错误。

例:

#test1.sh echo "Shell 传递参数实例!" echo "第一个参数: $1" echo "参数的个数: $#" echo "传递的参数作为一个字符串显示:$*"

执行脚本,输出结果

$ chmod +x test1.sh $ ./test.sh 1 2 Shell 传递参数实例 第一个参数: 1 参数个数: 2 传递的参数作为一个字符串显示; 1 2

∗ 与 * 与 @区别: 只有在双引号中体现出来。假设在脚本运行时写了三个参数1 ,2 ,3. 则“*”等价于“1 2 3”(传递了一个参数),而“@”等价于“1” “2” “3”(传递了三个参数)。

例:

#test2.sh echo "---$*----演示" for i in "$*"; do echo $i done echo "----$@---演示" for i in "$@"; do echo $i done

执行结果:

$chmod +x test2.sh $./test2.sh 1 2 3 ---$*---演示 1 2 3 ---$@---演示 1 2 3
转载请注明原文地址: https://www.6miu.com/read-5030286.html

最新回复(0)