linux - 从 shell 脚本中的另一个变量创建一个变量

标签 linux bash tail

shell 脚本中,我将输出存储为如下所示的变量

Test=$(/home/$USER/import.py $table)

现在这个 Test 变量将有超过 2 行,如下所示

table= 123_test
min_id=1
max_id=100
123_test,1,100

现在我想将 Test 变量的最后一行存储为另一个名为 output 的变量。

我试过如下。却没有得到想要的结果

output=`$test | tail -n 1`

我们可以在 shell 脚本中从另一个变量创建一个变量吗?如果是,我们该怎么做?

最佳答案

使用 echo 将变量通过管道传递给其他命令。

output=$(echo "$test" | tail -1)

或这里的字符串:

output=$(tail -1 <<<"$test")

不要忘记在这两种情况下引用变量,否则所有行将被合并。

最后,您可以使用 parameter expansion运算符选择最后一行,而不是使用 tail:

output=${test##*$'\n'}

关于linux - 从 shell 脚本中的另一个变量创建一个变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44394128/

相关文章:

linux - 为什么这个 'syntax error' 在 'else' 之前?

c++ - MinGW 下 windows 中的 Protobuf

linux - 如何在自定义 bash 函数中传递参数作为目录路径的一部分?

linux - 初始化进程与 shell 脚本的交互

c - Linux C 读取一个目录

bash - CircleCI - 根据分支对环境变量的不同值

linux - Linux 中的 tail 和 head 命令

linux - 截断匹配字符串的最后一行直到 EOF 的 shell 命令输出

string - Perl 6 中的 “P6opaque, Str” 与简单的 “Str” 类型

linux - 循环IO重定向