在执行shell脚本时可以传递参数:

  脚本获取参数的格式为:$0  $1  $2 ...其中$1 为传递的第一个参数  而$0 接受的是./test.sh 这个东西

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

代码:例:

#!/bin/bash
echo "1--"$0
echo "2--"$1
echo "3--"$2

运行结果:

 linux_shell_传递参数 Linux 第1张

  注意:大家可以看到我运行时后面传了两个参数   11  22  但是接收时$0接的是  ./test.sh $1 $2接收的才是真正的参数。

  另外还有几个特殊字符用来处理参数:

linux_shell_传递参数 Linux 第2张

  $#用例:

echo "1--"$0
echo "2--"$1
echo "3--"$2
echo "------"$#

运行结果:

linux_shell_传递参数 Linux 第3张

从图中可以看到最后一行输出的值 2 就是参数的个数

   $*用例:

echo "1--"$0
echo "2--"$1
echo "3--"$2
echo "------"$*

运行结果:

linux_shell_传递参数 Linux 第4张

从中看到输出的“11 22”是单字符串的。

  $@和$*用法一样的,区别在于前者是把每个参数分开的,而后者是把所有参数看作一个单字符串

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄