试图弄清楚.txt除了一个被调用的文件之外如何包含所有文件manifest.txt.
FILES=(path/to/*.txt)
Run Code Online (Sandbox Code Playgroud)
您可以使用扩展的glob模式:
shopt -s extglob
files=(path/to/!(manifest).txt)
Run Code Online (Sandbox Code Playgroud)
该模式匹配"除了一个给定模式之外的任何东西".!(pattern-list)
请注意,这完全排除了manifest.txt,没有别的; mmanifest.txt例如,仍然会进入数组.
作为旁注:根本没有匹配的glob会扩展到自身(参见手册和这个问题).可以使用nullglob(扩展为空字符串)和failglob(打印错误消息)shell选项更改此行为.