当前位置: 技术问答>linux和unix
子shell改变父shell定义变量的值
来源: 互联网 发布时间:2017-02-10
本文导语: #!/bin/bash row=0 cat file|while read line do row=`expr $row + 1` echo "$row:$line" done echo $row 最后输出的结果是0,怎么才能使while产生的子shell的row变量是脚本最开始定义的row=1呢? 假定文件中有5行,我期望的输出...
#!/bin/bash
row=0
cat file|while read line
do
row=`expr $row + 1`
echo "$row:$line"
done
echo $row
最后输出的结果是0,怎么才能使while产生的子shell的row变量是脚本最开始定义的row=1呢?
假定文件中有5行,我期望的输出是5
row=0
cat file|while read line
do
row=`expr $row + 1`
echo "$row:$line"
done
echo $row
最后输出的结果是0,怎么才能使while产生的子shell的row变量是脚本最开始定义的row=1呢?
假定文件中有5行,我期望的输出是5
|
子进程是无法改变父进程的变量的