当前位置: 技术问答>linux和unix
shell编程的问题,关于read的
来源: 互联网 发布时间:2016-05-08
本文导语: echo hello | read var echo $var 为什么显示结果是空白,不是hello ? 我在两台机上进行试验,一台输出正常,另一台输出空白 不知道是怎么回事,有高手能指点一下吗? | 从命令行输入的命...
echo hello | read var
echo $var
为什么显示结果是空白,不是hello ?
我在两台机上进行试验,一台输出正常,另一台输出空白
不知道是怎么回事,有高手能指点一下吗?
echo $var
为什么显示结果是空白,不是hello ?
我在两台机上进行试验,一台输出正常,另一台输出空白
不知道是怎么回事,有高手能指点一下吗?
|
从命令行输入的命令通常是在不同的shell中执行的. read var和echo $var在不同的shell中执行,
而不同shell中的变量是各自独立的.
如果放入同一个文件中(test.sh)中read var和echo $var就是用的同一个变量了.
如果要在命令行使用可以用:
echo hello | (read var; echo $var)
这样read var和echo $var就在同一个shell中执行了.
而不同shell中的变量是各自独立的.
如果放入同一个文件中(test.sh)中read var和echo $var就是用的同一个变量了.
如果要在命令行使用可以用:
echo hello | (read var; echo $var)
这样read var和echo $var就在同一个shell中执行了.
|
是不是这样,read是内部命令,运行时不会启动新的进程,而echo是外部命令,运行时会启动一个新的shell子进程来执行
|
接分是王道!
|
跟5楼6楼学了一手。
|
学习