Bash脚本在读取文件时无法访问错误

时间:2013-01-11 11:09:51

标签: bash shell

我编写了一个小程序来获取目录中所有文件的列表,并将它们连接到单个字符串变量。这是代码

#!/bin/bash
dir ="/home/user/myfolder/abc"
res=" "

for f in $( ls $dir  ); do
    res="$res $f"
done

echo $res

但是我收到以下错误

dir: cannot access =/home/user/myfolder/abc: No such file or directory

我已经设置了所有必需的权限,解决方案是什么?

2 个答案:

答案 0 :(得分:4)

删除作业之间的空格:

#!/bin/bash
dir ="/home/user/myfolder/abc"

这样做:

#!/bin/bash
dir="/home/user/myfolder/abc"

每种语言都有自己的语法,bash脚本在分配期间left_value=right_value之间不需要空格;如你所见,这只是语法问题。

答案 1 :(得分:3)

可能你需要:

dir=/home/user/myfolder/abc

而不是

dir ="/home/user/myfolder/abc"

dir 之后的额外空格使其成为命令“dir”,通常别名为 ls