将默认值添加到 bash 脚本变量

Ram*_*hum 1 bash command-line-arguments

我有一个$1用于处理命令行参数的 bash 脚本。

即使未给出命令行参数,我也想修改此脚本以使其正常工作;在这种情况下,我希望脚本使用默认值。

我不知道该怎么做;基本上我想我需要$1用我自己的变量替换,并在程序的开头有一行检查是否为 传递了值$1,如果不使用我将提供的默认值。但我不知道它的语法。谁能帮我?

fed*_*qui 5

使用参数扩展

var=${1:-default}
Run Code Online (Sandbox Code Playgroud)

从给定的链接:

${参数:-word}

如果参数未设置或为空,则替换单词的扩展。否则,替换参数的值。

看一个例子:

$ echo "$v"

$ t=${v:-hello}
$ echo "$t"
hello
$ v=2
$ t=${v:-hello}
$ echo "$t"
2
Run Code Online (Sandbox Code Playgroud)

还要注意,${var:-value}${var-value}不一样:${var:-word} 和 ${var-word} 之间有什么区别?.