我想知道如何向命令添加参数。
我希望它有点像这样:
$ arg --test
“arg”将是主命令,“--test”将是参数。
答案1
对于 和 之间的编号参数0
,9
其中x
是特定的编号参数,请使用以下表示法:
$x
对于上面的编号参数,其中x
是特定的编号参数,请使用以下表示法:
${x}
要获取所有参数的列表,请使用以下命令:
${@}
或这个:
${*}
请注意,当用双引号引起来时,${*}
会将所有以空格分隔的参数(通常,技术上它是变量的第一个字符$IFS
(内部字段分隔符))扩展为一个字符串。${@}
用双引号括起来时会扩展为多个字符串。
${@}
使用或时不需要括号${*}
。
答案2
这可能与已回答的问题重复。不过,请通过下面的非常基本的 shell 脚本找到一个可能的解决方案来满足您的请求。
#!/bin/bash
for i in ${@} ; do
case ${i} in
--test) echo "test option found"
;;
*) echo "Usage: $0 [--test]"
exit 1
esac
done
echo "$0 finished."
如果您在命令行上使用此 shell 脚本的选项,您可能会学到更多东西。这可能会添加到第一个答案JL2210非常恰当。
注意该行echo "Usage: $0 [--test]"
旨在提供一些帮助消息,并利用约定来指示方括号中的可选参数。
希望这可以帮助。