Объединение нескольких строк + stdouts в lolcat (в рыбе) - PullRequest
0 голосов
/ 07 марта 2019

Я пытаюсь научиться писать сценарии оболочки, в частности, скрипты для рыб.Тем не менее, вопрос, вероятно, будет таким же для bash.

Я пытаюсь выполнить конкатенацию пары строк с помощью stdout screenfetch и поместить все это в lolcat.

Прямо сейчас у меня есть следующее:

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

Это работает, но lolcat вызывается два раза, поэтому цветовая схема не совпадает.С точки зрения производительности это тоже плохой код.

Я хочу объединить stdout из screenfetch с моей переменной $ test и выбросить его в lolcat в виде одного пакета.

Я мог бысделайте что-то вроде этого:

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

Но стандартный вывод из screenfetch полностью зашифрован при сохранении в var (форматирование потеряно).

Любой совет?

1 Ответ

3 голосов
/ 07 марта 2019

Вы можете сгруппировать две команды и направить объединенный вывод в lolcat.Синтаксис для группирования команд различается для bash и fish:

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

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