我最初使用的是這個命令,它作業正常(計算帶有擴展名的檔案數.sb):
ls -dq *.sb | wc -l
輸出:
903
現在,我想使用一個變數來存盤字串,如下所示:
search="*.sb"
然后,把它們放在一起:
# count files in directory with substring
search="*.sb"
ls -dq "$search" | wc -l
輸出:
ls: cannot access *.sb: No such file or directory
0
這意味著正在正確存盤和檢索字串,但命令未按預期運行。誰能向我解釋這種現象?
uj5u.com熱心網友回復:
變數擴展在路徑名擴展之前完成。有關類似情況,請參見此處。
這種情況下的解決方法:去掉引號
search="*.sb"
ls -dq $search | wc -l
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/509836.html
標籤:重击
