Bash选择忽略空间

Bash选择忽略空间,bash,ubuntu,Bash,Ubuntu,所以我尝试创建一个bash脚本,它对目录中的每个文件都执行一些操作。这是我的剧本。问题是,这个脚本在每个空间上拆分,我更希望它在新行上拆分。所以它看起来就像ls打印。(我将在do中放入其他代码,echo只是一个测试) 那么我该如何解决这个问题呢?您最好避免使用ls()的结果 相反,请执行以下操作: for file in /your/dir/* do echo "$file" done 您最好避免使用ls()的结果 相反,请执行以下操作: for file in /your/dir/*

所以我尝试创建一个bash脚本,它对目录中的每个文件都执行一些操作。这是我的剧本。问题是,这个脚本在每个空间上拆分,我更希望它在新行上拆分。所以它看起来就像ls打印。(我将在do中放入其他代码,echo只是一个测试)


那么我该如何解决这个问题呢?

您最好避免使用
ls
()的结果

相反,请执行以下操作:

for file in /your/dir/*
do
   echo "$file"
done

您最好避免使用
ls
()的结果

相反,请执行以下操作:

for file in /your/dir/*
do
   echo "$file"
done
要仅拾取文件,请执行以下操作:

while read -r file; do
    echo "$file"
done < <(exec find -xtype f -maxdepth 1 -mindepth 1)
要仅拾取文件,请执行以下操作:

while read -r file; do
    echo "$file"
done < <(exec find -xtype f -maxdepth 1 -mindepth 1)

好的,谢谢,还有一个问题。你的代码被打印出来——我该如何解决这个问题?嗯,这很奇怪。你的意思是有一个名为
-
的文件被打印为
?我得到了一个文件,其中包含-像这样的“文件122-134”,当我使用脚本时,我得到了“文件122-134”ok,没关系,ls似乎做了同样的事情。所以这不是脚本。好的,thx,还有一个问题。你的代码被打印出来——我该如何解决这个问题?嗯,这很奇怪。你的意思是有一个名为
-
的文件被打印为
?我得到了一个文件,其中包含-像这样的“文件122-134”,当我使用脚本时,我得到了“文件122-134”ok,没关系,ls似乎做了同样的事情。所以这不是剧本。