相关疑难解决方法(0)

Shell变量设置在内部,而循环在其外部不可见

我试图找到其中包含最多字符的路径名.可能有更好的方法来做到这一点.但我想知道为什么会出现这个问题.

LONGEST_CNT=0
find samples/ | while read line
do
    line_length=$(echo $line | wc -m)
    if [[ $line_length -gt $LONGEST_CNT ]] 
    then
        LONGEST_CNT=$line_length
        LONGEST_STR=$line
    fi
done

echo $LONGEST_CNT : $LONGEST_STR
Run Code Online (Sandbox Code Playgroud)

它总会以某种方式返回:

0 :
Run Code Online (Sandbox Code Playgroud)

如果我在while循环内打印调试结果,则值是正确的.那么为什么bash不能使这些变量全局化呢?

bash

41
推荐指数
2
解决办法
4万
查看次数

标签 统计

bash ×1