小编Rob*_*cco的帖子

使用命令替换默认分配给空变量

我正在尝试使用以下语法:

A=${B:-C}
Run Code Online (Sandbox Code Playgroud)

A变量在哪里,B是我要分配C的值,如果 B 为空,则是默认值。

现在我想B用 command替换nc -l 443,所以如果nc通过端口 443 接收到一个字符串,它被分配给变量A,否则A设置为默认值。我将命令写为:

A=${`nc -l 443`:-NULL}
Run Code Online (Sandbox Code Playgroud)

但我收到一个错误:

-bash: A=${`nc -l 443`:-NULL}: bad substitution
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

shell bash string command-substitution variable-substitution

4
推荐指数
1
解决办法
3299
查看次数