Tôi muốn sử dụng thay thế biến trên một chuỗi cụ thể mà tôi truy cập thông qua một lệnh. Ví dụ, nếu tôi sao chép một cái gì đó vào clipboard của mình, tôi có thể truy cập nó như thế này.
$ xclip -o -selection clipboard
Here's a string I just copied.
Nếu tôi gán nó cho một biến, thì tôi có thể thay thế biến đó trên nó.
$ 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.
Tuy nhiên, có cách nào để thay thế biến mà không gán nó cho một biến không? Về mặt khái niệm, một cái gì đó như thế này.
$ echo ${$(xclip -o -selection clipboard)/copi/knott}
bash: ${$(xclip -o -selection clipboard)/copi/knott}: bad substitution
Cú pháp này thất bại, vì var
phải là một tên biến, không phải là một chuỗi.
bash
. (Và đẩy tôi một lần nữa theo hướng di chuyển đếnzsh
.)