Chciałbym użyć podstawienia zmiennej na określonym ciągu, do którego uzyskuję dostęp za pomocą polecenia. Na przykład, jeśli skopiuję coś do schowka, mogę uzyskać do tego dostęp w ten sposób.
$ xclip -o -selection clipboard
Here's a string I just copied.
Jeśli przypiszę ją do zmiennej, będę mógł na niej podstawiać zmienne.
$ 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.
Czy jednak istnieje sposób na podstawienie zmiennej bez przypisywania jej do zmiennej? Koncepcyjnie coś takiego.
$ echo ${$(xclip -o -selection clipboard)/copi/knott}
bash: ${$(xclip -o -selection clipboard)/copi/knott}: bad substitution
Ta składnia kończy się niepowodzeniem, ponieważ var
powinna to być nazwa zmiennej, a nie ciąg znaków.
bash
. (I popycha mnie ponownie w stronę migracji dozsh
.)