为什么变量的结果在终端输出。巴什

时间:2015-01-05 10:31:59

标签: bash shell

#!/bin/bash

main (){
    totalnumber
    totalfiles
}

totalnumber (){
    TNUM= ls -1 | wc -l
}

totalfiles (){
    FNUM= ls -l | grep ^d | wc -l
}

main

这是我的脚本,无论何时我运行它,但是在一个包含2个文件的文件夹中,2它输出4和2但我不希望这些在终端中输出。我怎么能阻止这个?

2 个答案:

答案 0 :(得分:2)

因为您实际上并未使用这些

分配结果
TNUM= ls -1 | wc -l

FNUM= ls -l | grep ^d | wc -l

执行:

TNUM=$(ls -1 | wc -l)

FNUM=$(ls -l | grep ^d | wc -l)

分配结果。

答案 1 :(得分:0)

#!/bin/bash

main (){
    totalnumber
    totalfiles
}

totalnumber (){
    TNUM=$(ls -1 | wc -l)
}

totalfiles (){
    FNUM=$(ls -l | grep ^d | wc -l)
}

main

如果你愿意

echo $TNUM
echo $FNUM

main之后,您将看到您的输出。