23,115
社区成员
发帖
与我相关
我的任务
分享
rownum=1
load_file="/data/resource.txt"
cat $load_file | while read LINE
do
rownum=2
echo $rownum #这个地方变量值为2
done
echo $rownum #这个地方变量值应该为2,但是输出值为1,是什么原因
shell_id()
{
echo "$1: \$\$=$$, \$BASHPID=$BASHPID"
}
shell_id parent
shell_id cmd1 | if true; then
read shell_id_from_cmd1;
echo $shell_id_from_cmd1;
shell_id cmd2
fi
[test ~]$ cat a.sh
shell_id()
{
echo "$1: \$\$=$$, \$BASHPID=$BASHPID"
}
shell_id parent
{ shell_id cmd1; } | { read shell_id_from_cmd1; echo $shell_id_from_cmd1; shell_id cmd2; }
[test ~]$ bash a.sh
parent: $$=7495, $BASHPID=7495
cmd1: $$=7495, $BASHPID=7496
cmd2: $$=7495, $BASHPID=7497
注意:三个BASHPID的不同。