我正在尝试找到其中字符最多的文件路径名。可能有更好的方法来解决这个问题,但我想知道为什么会出现这个问题。
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
它总是返回:
0 :
如果我在 while 循环内部打印结果以进行调试,那么输出的值是正确的。所以为什么 Bash 没有将这些变量设置为全局变量呢?
shopt -s lastpipe
,它“在当前shell上下文中运行管道的最后一个命令”(而不是子shell)-除非作业控制生效。 - Dennis Williamson语法错误,附近的标记“done”意外
。 - Aswin Murugeshdo
。 - Dennis Williamson