我用以下参数调用bash脚本:
myscript.sh -d /tmp -e dev -id 12345 -payload /tmp/test.payload
并在脚本内部,希望获得-payload的值。我并不真正关心其他论点,但他们会出现在电话会议中。
这里有一些代码几乎可以用来检索参数:
while getopts "d:e:payload:id:" arg; do
case $arg in
payload)
echo "payload"
;;
esac
done
当然有效负载)在案例控制结构中不起作用,那么如何获取-payload的值并将其分配给变量?
答案 0 :(得分:2)
我不确定这是否是处理它的最佳方式......但请检查these marked lines in a script
在你的情况下,我使用
while test $# -gt 0; do
case "$1" in
-payload)
shift
PAYLOAD=$1
;;
*)
# Catch other parameters here
# this part is not relevant
# to the answer but I added it
# to avoid infinite loop mentioned
shift
;;
esac
done