Variable
如何將萬用字元儲存在變數中
我有以下程式碼:
target="file.txt" ls "$target"
輸出:
file.txt
這不適用於萬用字元:
target="*" ls "$target"
輸出:
ls: cannot access '*': No such file or directory
問題是它被包裹在引號中。它正在做
ls '*'
而不是ls *
.
當您引用 時
$target
,您是在告訴 shell 不要擴展萬用字元。試著去掉引號:target="*" ls $target
你會得到一個目錄列表。
但是可能還有哪些其他值
target
?可能有空格嗎?問號?你希望他們受到怎樣的對待?
您的需求尚不清楚,但這可能有效:
target="*" bash -c "ls $target"
bash -c COMMAND
在 shell 中執行命令 COMMAND。