【发布时间】:2012-11-11 05:59:22
【问题描述】:
我正在尝试编写一个比我将向您展示的内容更复杂的脚本,但我知道问题出在这部分。
我希望通过for 循环将目录中文件列表的每个名称分配给一个变量(同一个变量,一次一个),然后在循环内用这个做一些事情,看看什么意思是:
for thing in $(ls $1);
do
file $thing;
done
编辑:假设这个 scrypt 被称为 Scrypt,我有一个名为 Folder 的文件夹,它在里面有 3 个名为 A、B、C 的文件。当我写这篇文章时,我希望它在终端上显示:
./scrypt Folder
以下内容:
A: file
B: file
C: file
使用上面显示的代码,我得到了:
A: ERROR: cannot open `A' (No such file or directory)
B: ERROR: cannot open `B' (No such file or directory)
C: ERROR: cannot open `C' (No such file or directory)
这就是问题
【问题讨论】:
-
怎么了?你所拥有的应该可以正常工作。
-
是的,这里唯一的错误是在空格上打断。
-
它说对每个文件都这样做:错误:无法打开“文件”(没有这样的文件或目录)
标签: bash shell variables for-loop ls