Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将参数传递给bash脚本_Bash - Fatal编程技术网

将参数传递给bash脚本

将参数传递给bash脚本,bash,Bash,我有一个简单的bash脚本: #!/bin/sh (echo "AUTH xxx xxx" sleep 3 number=0161XXXXXXX echo "ACTI $number" sleep 3 echo "SET $number 1 S:$number@x.x.x.x" sleep 3 echo "STAT $number" sleep 3 echo "QUIT") | telnet xxx.xxx 777 我想在调用脚本时将数字作为参数传入,即 bash编号:sh 0161XXXX

我有一个简单的bash脚本:

#!/bin/sh
(echo "AUTH xxx xxx"
sleep 3
number=0161XXXXXXX 
echo "ACTI $number"
sleep 3
echo "SET $number 1 S:$number@x.x.x.x"
sleep 3
echo "STAT $number"
sleep 3
echo "QUIT") | telnet xxx.xxx 777
我想在调用脚本时将数字作为参数传入,即

bash编号:sh 0161XXXXXXX

我该怎么做

谢谢使用。您也可以直接使用
$1
而不是存储在变量中

#!/bin/sh

arg=$1
(echo "AUTH xxx xxx"
sleep 3
number=$arg
echo "ACTI $number"
sleep 3
echo "SET $number 1 S:$number@x.x.x.x"
sleep 3
echo "STAT $number"
sleep 3
echo "QUIT") | telnet xxx.xxx 777
使用。您也可以直接使用
$1
而不是存储在变量中

#!/bin/sh

arg=$1
(echo "AUTH xxx xxx"
sleep 3
number=$arg
echo "ACTI $number"
sleep 3
echo "SET $number 1 S:$number@x.x.x.x"
sleep 3
echo "STAT $number"
sleep 3
echo "QUIT") | telnet xxx.xxx 777
从bash手册页:

论据

如果参数在选项处理后仍然存在,并且-c和 已提供-s选项,第一个参数假定为 包含shell命令的文件的名称。如果在中调用bash 按照这种方式,$0被设置为文件名和位置 参数设置为剩余参数。Bash读取并执行 命令,然后退出。Bash的退出状态是退出 脚本中最后执行的命令的状态。如果没有命令 已执行,退出状态为0。首先尝试打开 文件,如果找不到文件,则 shell在路径中的目录中搜索脚本

因此,第一个参数可以称为$1,第二个参数可以称为$2(直到$9,如果您需要以其他方式处理它,例如使用
shift
…)

从bash手册页:

论据

如果参数在选项处理后仍然存在,并且-c和 已提供-s选项,第一个参数假定为 包含shell命令的文件的名称。如果在中调用bash 按照这种方式,$0被设置为文件名和位置 参数设置为剩余参数。Bash读取并执行 命令,然后退出。Bash的退出状态是退出 脚本中最后执行的命令的状态。如果没有命令 已执行,退出状态为0。首先尝试打开 文件,如果找不到文件,则 shell在路径中的目录中搜索脚本


因此,第一个参数可以被称为$1,第二个参数可以被称为$2(直到$9,如果你需要用其他方式处理它,比如使用
shift
…)

在谷歌中粘贴你的标题并点击第一个结果。在谷歌中粘贴你的标题并点击第一个结果。