Bash
擴展文件萬用字元不適用於 bash 腳本中的 cat
當我在終端中輸入
cat ~/my/+(a|b)/doc
它從 ~/my/a/doc 和 ~/my/b/doc 都可以讀取,但是當我將該命令放入
bash
腳本時:#!/bin/bash cat ~/my/'+(a|b)'/doc
我得到錯誤:
cat: ~/my/+(a|b)/doc: No such file or directory
bash
不能在腳本中使用擴展萬用字元嗎?
你必須打開
extglob
:#!/bin/bash shopt -s extglob cat ~/my/+(a|b)/doc
+()``extglob
是擴展模式,僅在啟用時才被辨識。預設情況下extglob
,在互動式 shell 中打開,在非互動式 shell 中關閉。