[英]sh script escaping
從linux終端命令:
ls application/js/{a*,b*,c*,d*,e.pocket-secure}
將列出application / js目錄中所有以a,b,c,d或e.pocket-secure開頭的文件。
如果我將該命令放在doit.sh中並執行:
sh doit.sh
我得到:
ls: cannot access application/js/{a*,b*,c*,d*,e.pocket-secure*}: No such file or directory
我認為{}使shell解釋器感到困惑,但我嘗試使用引號(single | double),也嘗試將{}轉義無濟於事。
當您在終端中鍵入它時,我懷疑您在bash
。 運行sh doit.sh
,您是在更改Shell的特性,這是因為bash
處於兼容模式或因為使用的是dash
東西。 嘗試執行bash doit.sh
這種語法僅適用於bash解釋器,您可以嘗試一下
#/bin/bash
ls application/js/{a*,b*,c*,d*,e.pocket-secure}
和
chmod +x doit.sh
./doit.sh
要么
只需在shell上輸入
bash doit.sh
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.