Как я могу вставить 2 команды?

Когда я пытаюсь вставить команду 2, как это:

echo Merry && echo Christmas | pastebinit

Он только вставляет вторую команду и выдает первую в качестве вывода:

Merry
http://paste.ubuntu.com/9605648/

Теперь я мог бы просто сделать:

echo Merry Christmas | pastebinit

И это будет работать, но я хочу запустить 2 отдельные команды и направить вывод в pastebinitЯ не могу:

sudo apt-get install christmas && sudo apt-get update | pastebinit

не похоже на работу.

3 ответа

Решение

Оберните это, чтобы сделать составную команду:

{ echo Merry && echo Christmas;} | pastebinit

В общем случае, чтобы передать выходные данные нескольких команд последовательно другой команде, выполните:

{ cmd1; cmd2; ...;} | cmd

или же

(cmd1; ... ) | cmd

Здесь следует обходной путь, чтобы ответить на вопрос "как получить сложный вывод в CLI?"

Должно быть полезно:

thufir@dur:~$ 
thufir@dur:~$ script xmas
Script started, file is xmas
thufir@dur:~$ 
thufir@dur:~$ echo Merry && echo Christmas
Merry
Christmas
thufir@dur:~$ 
thufir@dur:~$ exit
exit
Script done, file is xmas
thufir@dur:~$ 
thufir@dur:~$ cat xmas 
Script started on 2017-10-27 06:37:59-0700
thufir@dur:~$ 
thufir@dur:~$ echo Merry && echo Christmas
Merry
Christmas
thufir@dur:~$ 
thufir@dur:~$ exit
exit

Script done on 2017-10-27 06:38:23-0700
thufir@dur:~$ 
thufir@dur:~$ pastebinit xmas
http://paste.ubuntu.com/25830406/
thufir@dur:~$ 

Вот файл pastebin на Ubuntu, как указано выше. Ссылка man script для того, как использовать typescript,

Обратите внимание, что вы можете выполнять сценарии, взаимодействовать и т. Д. script Команда просто записывает все в файл. Не совсем уверен, как сделать его более читабельным, не мешая конфигурации консоли / оболочки...

В принципе, если вы выключите все цвета и т. Д., Это выглядит лучше.

Есть ли причина, по которой вы не можете сначала перенаправить вывод двух команд в файл (используя команду append для вывода второй команды), а затем направить этот файл в pastebinit?

echo Merry > out.txt && echo Christmas >> out.txt && cat out.txt | pastebinit

Может быть, перенаправить stderr в выходной файл тоже.

Другие вопросы по тегам