相关疑难解决方法(0)

命令替换可以嵌套在变量替换中吗?

我想对我通过命令访问的特定字符串使用变量替换。例如,如果我将某些内容复制到剪贴板中,则可以像这样访问它。

$ xclip -o -selection clipboard
Here's a string I just copied.
Run Code Online (Sandbox Code Playgroud)

如果我将它分配给一个变量,那么我可以对其进行变量替换。

$ var=$(xclip -o -selection clipboard)
$ echo $var
Here's a string I just copied.
$ echo ${var/copi/knott}
Here's a string I just knotted.
Run Code Online (Sandbox Code Playgroud)

但是,有没有办法在不将其分配给变量的情况下进行变量替换?从概念上讲,类似这样的事情。

$ echo ${$(xclip -o -selection clipboard)/copi/knott}
bash: ${$(xclip -o -selection clipboard)/copi/knott}: bad substitution
Run Code Online (Sandbox Code Playgroud)

此语法失败,因为var应该是变量名,而不是字符串。

bash command-substitution variable-substitution

12
推荐指数
2
解决办法
7670
查看次数