【发布时间】:2010-02-05 11:51:51
【问题描述】:
假设我有一个包含文件的目录
foo bar.txt
foo baz.txt
(每个在 'o' 和 'b' 之间都有一个空格)。假设我想这样做:
for f in *.txt; do mv ${f} `basename ${f} .txt`; done
这失败了,因为 bash 将 *.txt 扩展为
foo bar.txt foo baz.txt
而不是
foo\ bar.txt foo\ baz.txt
即就好像我使用了制表符完成一样正确转义。
如何让 bash 正确转义其输出?
【问题讨论】: