在 centos 终端中运行 ${} 时替换错误

在 centos 终端中运行 ${} 时替换错误

我正在 centos 终端中编写以下命令

RC=${docker wait dat_abcdetl_1}

但是出现错误:

-bash: ${docker wait  dat_abcdetl_1}: bad substitution

答案1

您正在寻找的可能是:

RC=$(docker wait dat_abcdetl_1)

$(...)构造用于流程替代,而${...}对于参数替换

答案2

${...}是一个用于Shell 参数扩展

使用大括号时,匹配的结束大括号是第一个不被反斜杠转义的“}”,或者在带引号的字符串中,并且不在嵌入的算术扩展、命令替换或参数扩展中。

从你的例子来看你真正想要的是命令替换

命令替换允许命令的输出替换命令本身。

这可以写成:

RC=$(docker wait  dat_abcdetl_1)

相关内容