【发布时间】:2010-10-01 22:11:27
【问题描述】:
我正在使用 zsh 作为 shell。
我想执行 unix find 命令并将结果放入 shell 数组变量中,例如:
FILES=($(find . -name '*.bak'))
这样我就可以用类似的东西迭代这些值
for F in "$FILES[@]"; do echo "<<$F>>"; done
但是,我的文件名至少包含空格,可能还有其他时髦的字符,所以上面的方法不起作用。起作用的是:
IFS=$(echo -n -e "\0"); FILES=($(find . -name '*.bak' -print0)); unset IFS
但这很丑。这已经有点超出我对 zsh 语法的舒适限制了,所以我希望有人能指出一些我从不知道但应该知道的基本功能。
【问题讨论】: