在bash脚本中设置默认用户变量

Elp*_*rto 2 bash shell

我正在编写一个bash shell脚本,在用户需要将路径作为$ 1变量传递给它的地方运行.如何确定是否缺少$ 1并为其定义默认值?

Dae*_*yth 9

您可以检查变量的长度.

if [[ -z $1 ]]; then
    echo '$1 is zero-length. Please provide a value!'
fi
Run Code Online (Sandbox Code Playgroud)

如果您只想使用默认值,则可以使用大括号扩展.

first_param=${1:-defaultvalue}
Run Code Online (Sandbox Code Playgroud)

${varname:-foo}结构将使用的值varname,如果它被设置,或用什么遵循:-如果没有设置它.