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

Bash脚本在读取文件时无法访问错误,bash,shell,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 我已设置了所有必

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

#!/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

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

删除分配之间的空格:

#!/bin/bash
dir ="/home/user/myfolder/abc"
这样做:

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

每种语言都有自己的语法,bash脚本在赋值过程中不需要在
left\u value=right\u value
之间留空格;如您所见,这只是语法问题。

删除赋值之间的空格:

#!/bin/bash
dir ="/home/user/myfolder/abc"
这样做:

#!/bin/bash
dir="/home/user/myfolder/abc"
每种语言都有自己的语法,bash脚本在赋值过程中不需要在
left\u value=right\u value
之间留空格;如您所见,这只是语法问题。

您可能需要:

dir=/home/user/myfolder/abc dir=/home/user/myfolder/abc 而不是

dir ="/home/user/myfolder/abc" dir=“/home/user/myfolder/abc” dir之后的额外空间使其成为命令“dir”,通常别名为ls。

您可能需要:

dir=/home/user/myfolder/abc dir=/home/user/myfolder/abc 而不是

dir ="/home/user/myfolder/abc" dir=“/home/user/myfolder/abc”
dir之后的额外空间使其成为命令“dir”,通常别名为ls。

这很有效!但是很奇怪!!作业和空格是怎么回事?这很有效!但是很奇怪!!作业和空格是怎么回事?哦!那是因为我还没有找到能解决我问题的答案。我会在11分钟内接受你的回答。谢谢你。哦!那是因为我还没有找到能解决我问题的答案。我会在11分钟内接受你的回答。谢谢你。