ls
大家好,我想知道我在使用 bash时没有使用 bash 有什么区别,` `
所以我的程序无法工作,当我添加` `
它时它可以工作,它的目的是什么
for i in `ls`
do
if [ -d $i ]
then
echo $i
let j=$j+1
fi
if [ -f $i ]
then
echo $i
let k=$k+1
fi
if [ -x $i ]
then
echo $i
let l=$l+1
fi
done
echo "Il y a $j répertoires, $k fichiers et $l exécutables dans $rep"
答案1
`ls`(或任何命令)将命令结果返回到变量。命令本身将结果返回到 stdout(“标准输出” - 输出到终端)。
您将看到的另一种表示完全相同含义的语法是 $(ls)。它还将结果返回到变量。
因此,为了扩展您的代码,使其更易于理解:
DIRECTORIES=`ls`
for i in $DIRECTORIES
do
...
done
为了进一步演示这里发生的事情:
echo $DIRECTORIES
将会把目录列表从 ls 打印到 stdout(到终端)