从 shell 脚本中的另一个变量创建一个变量
Create a variable from another variable in shell script
在 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 运算符到 select 最后一行,而不是使用 tail
:
output=${test##*$'\n'}
在 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 运算符到 select 最后一行,而不是使用 tail
:
output=${test##*$'\n'}