Bash脚本将管道sed的输出保存到变量

时间:2018-12-07 02:07:28

标签: bash

为什么不起作用?

 newAns=$(${answer} | sed 's/\[//')

我正在尝试编辑$ answer变量以取出'['并将其保存到新变量。

当前给我一个错误,提示“ [foo]:找不到命令”

$ answer = [foo] 回声$ newAns = foo]

1 个答案:

答案 0 :(得分:3)

$( ... )运行命令。

${answer} | sed是运行命令${answer}并将其输出传递到sed中的管道。

sed是有效的命令,但您的$answer不是(只是一个字符串)。

最简单的解决方案是根本不使用管道或外部命令:

newAns="${answer#\[}"

将删除前导[