Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Shell 如何将特定命令输出保存到sh中的变量?_Shell_Sh - Fatal编程技术网

Shell 如何将特定命令输出保存到sh中的变量?

Shell 如何将特定命令输出保存到sh中的变量?,shell,sh,Shell,Sh,当我执行一个特定的命令时,我得到两个输出值,如下所示: 2.056000 640.640015 我只想提取第二个值,并将其分配给一个变量,以便以后使用 有人能帮我吗?如果您想要一个变量包含命令的结果,var=$(command)是解决方案 就你而言 your_var=$(your_command | awk '{print $2}') 您必须执行该命令,然后将其输送到awk,这将获得第二个参数。Fedorqui的方法很好,但为了提供一个替代方法: your_command | read DO

当我执行一个特定的命令时,我得到两个输出值,如下所示:

2.056000 640.640015
我只想提取第二个值,并将其分配给一个变量,以便以后使用


有人能帮我吗?

如果您想要一个变量包含命令的结果,
var=$(command)
是解决方案

就你而言

your_var=$(your_command | awk '{print $2}')

您必须执行该命令,然后将其输送到
awk
,这将获得第二个参数。

Fedorqui的方法很好,但为了提供一个替代方法:

your_command | read DONT_CARE YOUR_VAR IGNORE_ANYTHING_TRAILING

这样做的好处是不需要运行子shell和awk。为zsh测试和工作。您不必为忽略\u ANYTHING\u尾部而烦恼,但如果说您的\u命令吐出了1234,那么您的\u变量将以“234”结束。

好主意。不得不说,bash中的基本
$ls-la | readp
对我来说不起作用<代码>$p未设置。是的。。。我在cygwin中的旧bash shell也很奇怪:
echo 1 | read x
不设置x,
read-u0x
(stdin的描述符)不起作用,
cat | read x
不起作用,但如果我只是
read x
并键入值,它就可以工作了。管道不知怎么搞砸了。一些讨论-多么愚蠢的外壳-PSome shell(尤其是
bash
)将在子shell中执行
read
,因此在管道退出后变量不可用。POSIX标准简单地说,管道中的任何或所有命令都可以在子shell中执行;它不需要任何特定的行为。