将多个字符串+标准输出连接成 lolcat(在 fish 中)
Concatenating multiple strings+stdouts into lolcat (in fish)
我正在尝试学习 shell 脚本,尤其是 fish 脚本。
但是,bash.
的问题可能是相同的
我想要完成的是将几个字符串与 screenfetch 的标准输出连接起来,然后将所有这些都放入 lolcat。
现在我有以下内容:
screenfetch -n | lolcat
set test "test"
echo $test | lolcat
这可行,但是 lolcat 被调用了两次,因此配色方案不匹配。性能方面它也是糟糕的代码。
我想做的是将来自 screenfetch 的标准输出与我的 $test 变量连接起来,并将它作为一个单独的包丢给 lolcat。
我可以这样做:
set sf (screenfetch -n)
set test "test"
set all $sf$test
echo $all | lolcat
但是当存储到 var 中时,来自 screenfetch 的标准输出会完全混乱(格式丢失)。
有什么建议吗?
您可以将两个命令组合在一起,并将连接的输出通过管道传输到 lolcat
。 bash 和 fish:
之间分组命令的语法不同
# /bin/bash
{ screenfetch -n; echo "$test"; } | lolcat
# /usr/bin/fish
begin screenfetch -n; echo $test; end | lolcat
我正在尝试学习 shell 脚本,尤其是 fish 脚本。 但是,bash.
的问题可能是相同的我想要完成的是将几个字符串与 screenfetch 的标准输出连接起来,然后将所有这些都放入 lolcat。
现在我有以下内容:
screenfetch -n | lolcat
set test "test"
echo $test | lolcat
这可行,但是 lolcat 被调用了两次,因此配色方案不匹配。性能方面它也是糟糕的代码。
我想做的是将来自 screenfetch 的标准输出与我的 $test 变量连接起来,并将它作为一个单独的包丢给 lolcat。
我可以这样做:
set sf (screenfetch -n)
set test "test"
set all $sf$test
echo $all | lolcat
但是当存储到 var 中时,来自 screenfetch 的标准输出会完全混乱(格式丢失)。
有什么建议吗?
您可以将两个命令组合在一起,并将连接的输出通过管道传输到 lolcat
。 bash 和 fish:
# /bin/bash
{ screenfetch -n; echo "$test"; } | lolcat
# /usr/bin/fish
begin screenfetch -n; echo $test; end | lolcat