bash 中的 ls 和 `ls` 有什么区别

bash 中的 ls 和 `ls` 有什么区别

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(到终端)

相关内容