我一直在尝试将 ls
的结果通过管道传输到我正在编写的 C 程序的命令行中(在 Unix 中)。我希望能够有一个文件索引,所以我打算使用 argv。这就是我认为它应该工作的方式:
./foo &(ls ~/path)
它不起作用 — 将 ls
的输出作为参数传递给命令的正确方法是什么?
最佳答案
你的语法有一点...
./foo $(ls ~/path)
请注意,这会阻塞包含某些字符的文件。请改用数组来解决此问题。
pushd ~/path
files=(*)
popd
./foo "${files[@]}"
关于c - ls 通过管道传输到命令行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14743216/