linux - 存储由名称中带有空格的文件组成的 ls 命令的输出

标签 linux bash filenames ls

我想将 ls 命令的输出存储在我的 bash 脚本中的一个变量中,并循环使用每个文件名,但是例如,当我执行 variable= 时,目录中的一个文件名为“Hello world” $(ls) “Hello” 和 “world” 最终成为两个单独的条目,当我尝试这样做时

for i in $variable
do
  mv $i ~
done

它显示文件“Hello”和“world”不存在的错误。 有什么方法可以访问当前目录中的所有文件并运行一些命令,即使文件名中有空格也是如此。

最佳答案

如果必须,dirfiles=(/path/of/interest/*)

并接受警告不要解析 ls 的输出!

我知道您是新手,我愿意提供帮助。但我(我们?)要向您提供一个对您提出问题的方式有很大帮助的答案并不容易。

根据我目前所听到的,您似乎对参数扩展在 shell 中的工作方式没有基本的了解。以下两个链接将对您有用: Matching Pathnames , Parameters

现在,如果您手头的任务是对满足特定条件的文件进行操作,则 find(1) 可能会完成这项工作。

关于linux - 存储由名称中带有空格的文件组成的 ls 命令的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28790423/

相关文章:

linux - 什么是光栅化器? freetype 是 linux 操作系统的一部分还是单独的库?

bash - 在 bash 脚本中运行别名会得到 `<arguments>: command not found`

javascript - 正则表达式提取最后一个正斜杠和特定字符串之间的文本(javascript)

wordpress - 在 Wordpress 中上传时重命名文件

linux - 如何定义内核程序是模块还是内置

linux - AWK、grep 和 Find 命令之间有何不同,因为所有这三个命令都在文本文件或目录中查找特定的短语?

python - 在RobotFramework中,我们如何将一个测试套件的值(value)运用到Linux中的另一个测试套件中?

linux - Bash - 给定日期的小时数

linux - Bash:为什么对这个字符串进行 egrepping 会成功?

php - 通过增量保护重复文件名