例:
check_prog hostname.com /bin/check_awesome -c 10 -w 13
check_remote -H $HOSTNAME -C "$ARGS"
#To be expanded as
check_remote -H hostname.com -C "/bin/check_awesome -c 10 -w 13"
Run Code Online (Sandbox Code Playgroud)
我希望上面的内容是有道理的,论点会改变,因为我将使用它来处理大约20多个命令.它是一个包装程序的奇怪方法,但是它可以解决我们在这里使用的一些系统的一些问题(需要来自70年代的代码)
上面的内容可以用perl或python编写,但Bash是首选的方法
rav*_*avi 91
你可以使用班次
shift是一个内置的shell,它根据位置参数进行操作.每次调用shift时,它都会将所有位置参数"向下移动"一个.$ 2变为$ 1,$ 3变为$ 2,$ 4变为$ 3,依此类推
Hos*_*Aly 31
稍微调整一下阿卜杜拉的答案:
your_command "$1" "${@:2}"
Run Code Online (Sandbox Code Playgroud)
在 Bash(v3.2 和 v5.1)和 Zsh(v5.8)上测试
小智 25
作为程序员,我强烈建议不shift要这样做,因为修改状态的操作会影响脚本的大部分内容,并使其更难理解、修改和调试:sweat_smile:。您可以改为使用以下内容:
#!/usr/bin/env bash
all_args=("$@")
first_arg=$1
second_args=$2
rest_args=("${all_args[@]:2}")
echo "${rest_args[@]}"
Run Code Online (Sandbox Code Playgroud)