簡體   English   中英

sh腳本轉義

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM