将多个字符串和标准输出连接到lolcat中(在鱼中)

时间:2019-03-07 11:21:23

标签: bash shell fish

我正在尝试学习shell脚本,尤其是fish脚本。 但是,对于bash,问题可能是相同的。

我要完成的工作是将几个字符串与screenfetch的标准输出连接起来,并将所有这些都放入lolcat。

现在我有以下内容:

screenfetch  -n | lolcat
set test "test"
echo $test | lolcat

这有效,但是lolcat被称为2次,因此配色方案不匹配。在性能方面,它也是不好的代码。

我想做的是用我的$ test变量连接来自screenfetch的stdout并将其作为一个单独的包扔给lolcat。

我可以做这样的事情:

set sf (screenfetch -n)
set test "test"
set all $sf$test
echo $all | lolcat

但是,当将Screenfetch存储到var中时,其标准输出会完全混乱(格式丢失)。

有什么建议吗?

1 个答案:

答案 0 :(得分:3)

您可以对两个命令进行分组,然后将连接的输出通过管道传递到lolcat。 bash和fish的分组命令语法不同:

# /bin/bash
{ screenfetch -n; echo "$test"; } | lolcat

# /usr/bin/fish
begin screenfetch -n; echo $test; end | lolcat