如何进行回声并保存为变量?
sm@tp1:~/pc$ php get.php | grep "PhP" | cut -c24-33 | sed -n 1p
PhP 47.813
这是输出
sm@tp1:~/pc$ out=$(php get.php | grep "PhP" | cut -c24-33 | sed -n 1p) | echo $out
sm@tp1:~/pc$
但在这里没有输出
答案 0 :(得分:2)
在第二行中,您将输出分配给变量out
。如果您以后想查看变量out
是什么,请稍后输入echo $out
:
sm@tp1:~/pc$ out=$(php get.php | grep "PhP" | cut -c24-33 | sed -n 1p)
sm@tp1:~/pc$ echo $out
换句话说,不要使用管道|
而只是在另一条线路上回显,或者只能用分号;
替换该管道。
sm@tp1:~/pc$ out=$(php get.php | grep "PhP" | cut -c24-33 | sed -n 1p); echo $out
答案 1 :(得分:1)
添加,在这种情况下
out=$(php get.php | grep "PhP" | cut -c24-33 | sed -n 1p)|echo $out
每个命令都应该在单独的子shell中运行,你可以将stdout作为stdin来管道,但是传递变量是不可能的。 在你的情况下变量是