当前位置: 技术问答>linux和unix
Linux Shell编程读取变量问题
来源: 互联网 发布时间:2017-01-15
本文导语: 有一个程序app1,从Stdout输出两行,假设分别是: 1 2 3 4 5 我现在想将这些输出设为变量的值。以前在OpenServer下,我是这样做的: app1 | read a b c d e 我记得这样是有效的,执行结果是a b c d e 分别被赋予了 1 ...
有一个程序app1,从Stdout输出两行,假设分别是:
1 2 3
4 5
我现在想将这些输出设为变量的值。以前在OpenServer下,我是这样做的:
app1 | read a b c d e
我记得这样是有效的,执行结果是a b c d e 分别被赋予了 1 2 3 4 5的值。但在Linux Bash下,此句失效了。变量没有得到任何赋值。请教大家,如何解决?
1 2 3
4 5
我现在想将这些输出设为变量的值。以前在OpenServer下,我是这样做的:
app1 | read a b c d e
我记得这样是有效的,执行结果是a b c d e 分别被赋予了 1 2 3 4 5的值。但在Linux Bash下,此句失效了。变量没有得到任何赋值。请教大家,如何解决?
|
这样呢?
set -- `./app1`
echo $1
echo $2
echo $3
echo $4
echo $5
set -- `./app1`
echo $1
echo $2
echo $3
echo $4
echo $5
|
你的app1是什么类型的程序呀,是可执行程序的话,而且在当前目录下的话,可以试下:
./app1 | read a b c d e
./app1 | read a b c d e
|
的确不行,这个原理挺奇怪的。