如何将shell脚本的输出存储到Unix中的变量?

log*_*gan 43 unix shell

我有一个shell脚本"script.sh",当我在unix窗口中执行时,它输出为"success"或"Failed".现在我想将script.sh的输出存储到unix命令变量中.say $a = {output of script.sh}

Lev*_*von 77

捕获输出pwd命令的两个简单示例:

$ b=$(pwd)
$ echo $b
/home/user1
Run Code Online (Sandbox Code Playgroud)

要么

$ a=`pwd`
$ echo $a
/home/user1
Run Code Online (Sandbox Code Playgroud)

第一种方式是首选.请注意,在=此之后不能有任何空格.

使用短脚本的示例:

#!/bin/bash

echo "hi there"
Run Code Online (Sandbox Code Playgroud)

然后:

$ ./so.sh
hi there
$ a=$(so.sh)
$ echo $a
hi there
Run Code Online (Sandbox Code Playgroud)

通常,更灵活的方法是从命令返回退出值并将其用于进一步处理,尽管有时我们可能只想捕获命令的简单输出.


小智 7

假设您要存储 echo 命令的结果

echo hello   
x=$(echo hello)  
echo "$x",world!  
Run Code Online (Sandbox Code Playgroud)

输出:

hello  
hello,world!
Run Code Online (Sandbox Code Playgroud)