我对Bash相对较新(来自Windows世界),我正努力了解Bash中的变量作用域。
我有以下脚本,该脚本使用netcat从远程进程读取字符串。一旦获得该字符串,我想杀死netcat并稍后在脚本中使用该值。这是我想做的一小段:
line="TEMP"
printf "Ready to read string\n"
netcat -l -p 12345 | while read inside
do
printf "inside: $inside\n"
line=$inside
printf "End the loop: $process\n"
pkill netcat
done
printf "outside: $line\n"
我遇到的问题是,$line
在管道外部始终等于“ TEMP”。我在这里想念什么吗?我什至要寻找什么来解决这个问题?