vol*_*ron 3 bash csh sh assignment-operator logical-or
正如标题所描述的那样,a= b || c在shell脚本中执行or-assignment(例如)的正确方法是什么,特别是csh vs bash?我无法测试这个,所以也许上面的例子可行.
我认为这在脚本语言中很常见,但对于那些不太了解的人来说,变量a将保留bif truthy的值,否则保留值c.在该示例中b和c是表达式.
用例通常设置为a某种值(如果提供),否则使用默认值(例如a= $1 || "Foo").
由于这个问题并非如此,我不确定接近投票的原因是什么:
如果您需要进一步解释并需要一些修改,请发表评论.
对于你想要的bash
a=${b:-$c}
Run Code Online (Sandbox Code Playgroud)
http://www.gnu.org/software/bash/manual/bashref.html#Shell-Parameter-Expansion
${parameter:-word}如果参数未设置或为null,则替换单词的扩展.否则,参数的值将被替换.