コマンドを介してアクセスする特定の文字列に変数置換を使用したいと思います。たとえば、クリップボードに何かをコピーすると、次のようにアクセスできます。
$ xclip -o -selection clipboard
Here's a string I just copied.
これを変数に割り当てると、変数の置換を行うことができます。
$ 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.
しかし、変数に代入せずに変数置換を行う方法はありますか?概念的には、このようなものです。
$ echo ${$(xclip -o -selection clipboard)/copi/knott}
bash: ${$(xclip -o -selection clipboard)/copi/knott}: bad substitution
この構文は、var
文字列ではなく変数名である必要があるため失敗します。
bash
。これは、で不可能であるという状況証拠がいくつか提供されているためです。(そして、私をzsh
。への移行に向けて再度プッシュします。)