Je voudrais utiliser la substitution de variable sur une chaîne particulière à laquelle j'accède via une commande. Par exemple, si je copie quelque chose dans mon presse-papiers, je peux y accéder comme ceci.
$ xclip -o -selection clipboard
Here's a string I just copied.
Si je l'assigne à une variable, alors je peux faire une substitution de variable dessus.
$ 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.
Cependant, existe-t-il un moyen de faire une substitution de variable sans l'assigner à une variable? Conceptuellement, quelque chose comme ça.
$ echo ${$(xclip -o -selection clipboard)/copi/knott}
bash: ${$(xclip -o -selection clipboard)/copi/knott}: bad substitution
Cette syntaxe échoue, car var
devrait être un nom de variable, pas une chaîne.
bash
. (Et me pousse à nouveau vers la migration verszsh
.)