我正在尝试学习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中时,其标准输出会完全混乱(格式丢失)。
有什么建议吗?
答案 0 :(得分:3)
您可以对两个命令进行分组,然后将连接的输出通过管道传递到lolcat
。 bash和fish的分组命令语法不同:
# /bin/bash
{ screenfetch -n; echo "$test"; } | lolcat
# /usr/bin/fish
begin screenfetch -n; echo $test; end | lolcat