2011-05-07 72 views
0

我编写了以下脚本,期望在目录中打印文件。但它只是把字符串“ls”放在屏幕上。如何在bash中访问ls的输出?

什么问题?

#!/bin/bash 
for FILE in 'ls' 
do 
    echo $FILE 
done 
+1

你可以在没有反引号的情况下做到这一点:'用于FILE in *;执行echo $ FILE; done' - 或者简单地使用'find'。 – 2011-05-07 16:20:01

+0

@ user379203:如果这个答案对你有帮助(它看起来是正确的),请接受它(使用复选标记按钮)。 – 2011-08-20 21:02:37

回答

9

一种错误的报价 - 你想:

for FILE in `ls` 

这些都是反引号,不是单引号。更好的是:

for FILE in $(ls) 

你可能也想看看this site

+5

请[不要分析ls](http://mywiki.wooledge.org/ParsingLs)!相反,使用'in for FILE' - 它既快速又不易出错。 – 2011-05-07 19:18:30