![subshell ls -lh "$(find /music -type d)" 不返回列表,而是返回 find 命令的结果](https://linux22.com/image/1094518/subshel%E2%80%8B%E2%80%8Bl%20ls%20-lh%20%22%24(find%20%2Fmusic%20-type%20d)%22%20%E4%B8%8D%E8%BF%94%E5%9B%9E%E5%88%97%E8%A1%A8%EF%BC%8C%E8%80%8C%E6%98%AF%E8%BF%94%E5%9B%9E%20find%20%E5%91%BD%E4%BB%A4%E7%9A%84%E7%BB%93%E6%9E%9C.png)
我正在尝试使用以下命令列出音乐文件夹中所有目录的详细信息:
ls -lh "$(find /music -type d)"
但是我得到的只是 find 命令的返回值。这个语法正确吗?我使用的是 ubuntu server 10.04。我记得几周前在 gui ubuntu 10.04 上尝试过这个,它似乎输出了 ls 命令的详细信息
答案1
它可以工作,不需要引号
ls -lh $(find /music -type d)
使用引号 ls -l 会将查找结果视为单个文件,而不是项目列表。仔细查看输出,你没有看到
ls: cannot access ...
list of find results
last item : No such file or directory