我想知道是否有任何方法可以使用可选的参数来执行脚本。 例如
./script (optional parameter X) path
因此输入./script /Users/name/Documents
将执行某些功能(我假设if语句将是至关重要的)并且./script X Users/mcichecki/Documents
将执行另一个功能。
我试图用可选参数来做它并且它没有工作:
ARG1=${1:-R}
if [ "$1" = "X" ];
then
first_function
else
second_function
fi
答案 0 :(得分:2)
如果可选参数是最后一个,则可以使用默认值。它首次运作时效果不佳。
使用$#
检查传入的参数数量。
case $# in
1) ARG1=-R; ARG2=$1;;
2) ARG1=$1; ARG2=$2;;
*) echo "Usage: $0 [parameterX] path" >&2; exit 1;;
esac