我正在尝试编写一个 bash 脚本,通过从给定目录中的图像中进行选择来自动更改桌面背景。我面临的问题是,当我尝试使用“ls”命令列出图像时,它还显示了它的属性。有没有一种方法可以只列出文件名而不列出其他属性。
这里,if if TEST_DIR=/home/vivek/Downloads 然后
ls $TEST_DIR/*.jpeg -o $TEST_DIR/*.png -o $TEST_DIR/*.jpg
输出为
-rw-rw-r-- 1 vivek 7221 Sep 5 20:42 /home/vivek/Downloads/viv.jpeg
我只需要输出为“/home/vivek/Downloads/viv.jpeg”。
编辑:
从命令中删除“-o”后,脚本工作正常。
之前我使用“-o”来表示“或”关键字。
但是现在,
ls $TEST_DIR/*.jpeg $TEST_DIR/*.png $TEST_DIR/*.jpg
准确地给出了我需要的输出。谢谢。
最佳答案
您正在将 -o
传递给 ls
(两次,甚至)。删除它,因为它意味着:
-o like -l, but do not list group information
您也可以将其缩短为:
ls $TEST_DIR/*.{jpeg,png,jpg}
关于linux - 如何只列出文件名而不是目录中的属性(在 Linux 中)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28026209/