7
ответов

Как Вы помните синтаксис за 2> &1 [закрытое] перенаправление

У Вас есть мнемосхема или система? Это беспокоило меня в течение многих лет, я всегда должен искать его
19.06.2014
7
ответов

Как к grep потоку стандартной погрешности (stderr)?

Я использую ffmpeg для получения meta информации аудиоклипа. Но я неспособен к grep это. $ ffmpeg-i 01-Daemon.mp3 |grep-i Продолжительность версия SVN-r15261 FFmpeg, Copyright (c) 2000-2008 Fabrice...
31.10.2010
6
ответов

Как сказать, является ли вывод командного сценария или сценария оболочки stdout или stderr

Давайте скажем, что я выполняю командный сценарий или сценарий оболочки, и он дает мне вывод. Не зная внутренности этого командного сценария или сценария оболочки, как каждый определяет, ли вывод, был от stderr или stdout?...
24.02.2015
6
ответов

Почему я не могу перенаправить вывод пути от одной команды до “CD”?

Я пытаюсь заставить CD принимать имя каталога, перенаправленное к нему от другой команды. Ни один из этих методов работа: $HOME эха $ | $HOME эха $ CD | xargs CD Это действительно работает: $ CD $ (повторяют $HOME)...
05.10.2012
5
ответов

Awk - произведите вторую строку многих .dat файлов в один файл

У меня есть несколько файлов что-то как: (в действительности я имею 80), file1.dat 2 5 6 9 7 1 file2.dat 3 7 8 4 1 3, я хочу закончить с файлом, содержащим все вторые строки. т.е. output.dat 6 9...
06.01.2019
5
ответов
5
ответов

Когда Вы использовали бы дополнительный дескриптор файла?

Я знаю, что можно создать дескриптор файла и перенаправить вывод к нему. например, должностное лицо 3 <>/tmp/foo # открывает fd 3. отзовитесь эхом a> &3 #, пишут в него должностному лицу 3> &-# близкий fd 3. Но можно сделать то же...
14.10.2015
5
ответов

Как динамически использовать перенаправление вывода?

Я пытаюсь добавить параметр отладки в свой сценарий. Обычно я хочу скрыть любой вывод, например предупреждения и т. Д., Поэтому я помещаю> / dev / null 2> & 1 за множеством команд. Теперь, когда я хочу отладить свой ...
09.06.2015
5
ответов

Используя цикл с условием продолжения к ssh к нескольким серверам

У меня есть файл servers.txt со списком серверов: server1.mydomain.com server2.mydomain.com server3.mydomain.com, когда я считал файл линию за линией с тем, в то время как и повторяют каждую строку, все работы как ожидалось....
05.01.2014
5
ответов

Программа командной строки может предотвратить свой перенаправляемый вывод?

Я стал настолько используемым, чтобы сделать это: someprogram> output.file, я делаю это каждый раз, когда я хочу сохранить вывод, который программа генерирует в файл. Я также знаю о двух вариантах этого IO...
28.12.2012
5
ответов

Как я могу отправить stdout в несколько команд?

Существуют некоторые команды, которые фильтруют или действуют на вход и затем проводят его, как произведено, я обычно думаю к stdout - но некоторые команды просто возьмут stdin и сделают то, что они делают с ним, и...
08.01.2012
5
ответов

Различие между 2> &1> output.log и 2> &1 | кладет для первого удара output.log

Я хотел знать различие между следующими двумя командами 2> &1>, output.log и 2> &1 | кладет для первого удара output.log, который я видел, что один из моего коллеги использовал вторую опцию перенаправить. Я знаю...
11.09.2011
5
ответов

Как я могу выполнить процесс в окне терминала и затем скрыть то окно?

Я хочу запустить Python ~/program/proxy.py в терминале, когда я загружаюсь. И затем скройте это окно терминала (потому что это - просто программа прокси, и я не хочу видеть информацию об отладке). Таким образом, как я могу добраться...
01.08.2011
5
ответов

Перенаправление IO и главная команда

Я пытался быстро отредактировать .hgignore файл от оболочки удара Cygwin сегодня, и я добавил строку, которая была ошибкой. Я не уверен, было ли это лучшим способом сделать это, но я быстро думал об использовании...
30.06.2011
5
ответов

Покажите только stderr на экране, но запишите и stdout и stderr в файл

Как я могу использовать волшебство Bash достигнуть этого? Я хочу только видеть вывод stderr на экране, но я хочу, чтобы и stdout и stderr были записаны в файл. Разъяснение: Я хочу и stdout и stderr к...
21.05.2011
4
ответа

Как я полностью заставляю cronjob замолчать к/dev/null/?

На моем Рабочем столе Ubuntu и на моем debian-сервере у меня есть сценарий, который должен выполняться каждую минуту (сценарий, который называет мелкий тик моего пространства browsergame онлайн). Проблема - это на...
22.07.2018
4
ответа

Как перенаправить stderr и stdout в различные файлы и также отобразиться в терминале?

Я хочу видеть вывод команды в терминале, как будто не было никакого перенаправления. Кроме того, stderr должен быть перенаправлен к err.log, и stdout должен быть перенаправлен к stdout.log. Это было бы хорошо...
10.01.2018
4
ответа

Как добавить несколько строк в файл

Я пишу сценарий удара для поиска файла, если он не существует, затем создают его и добавляют это к нему: localhost ForwardAgent Хоста да Так "строка затем новая строка 'вкладка' затем текст" я думаю, что это...
14.04.2017
4
ответа

Что происходит с выводом процесса, который отрицали и потерял его терминал?

Если я закрываю виртуальный терминал, где некоторый процесс был запущен, вывод просто переходит прямо к/dev/null, или он может загрязнить память так или иначе? Я могу во всяком случае захватить вывод, чтобы продолжить читать его в...
24.01.2016
4
ответа
4
ответа

Вставка текста командной строки, прежде чем произведено в stdout (для канала / перенаправление)

Рассмотрите следующие конструкции удара: ls/usr/include/asm> list-redir.txt ls/usr/include/asm | кладет для первого удара list-tee.txt В этом случае, list-redir.txt и list-tee.txt будут идентичны, и будет...
29.08.2015
4
ответа

Как можно передать стандартный ввод одной программы в качестве аргумента другой?

Допустим, существует программа, которая принимает два аргумента; входной файл и выходной файл. Что, если я не хочу сохранять этот выходной файл на диск, а скорее передаю его прямо на стандартный ввод другой программы. Is ...
20.07.2015
4
ответа
4
ответа

вывод в файл, затем используйте файл для входа

Существует ли более короткий способ записать это? В основном произведите команду в файл, затем используйте файл в качестве входа для следующей команды. Я также хочу сохранить файл для просмотра впоследствии. cmd1> verylong.txt;...
21.11.2014
4
ответа

Я могу указать перенаправленный вход перед составной командой?

Bash позволяет Вам указать перенаправленный вход перед командой: $ <строки sed 's/^/line:/g' строка: строка нечто: Bash панели также позволяет Вам перенаправить вход к составной команде как некоторое время цикл: $, в то время как считано...
17.09.2014
4
ответа

Перенаправление и канал производятся

об/мин - обеспечение качества> файл | туалет-l возвращается 0. Что я делаю неправильно? Я думаю, что ясно, какова моя цель, но это не работает. Действительно ли это - задание для xargs или мишени?
20.08.2014
4
ответа

Команда, которая генерирует и стандартную погрешность и вывод

Я хочу сделать некоторый поиск и устранение неисправностей на своем сценарии удара. Существует ли короткая и простая команда, которая генерирует и stdout и stderr так, чтобы я мог использовать 2> &1 на нем? Извините, если это выглядит тривиальным,
14.08.2014
4
ответа

удар:/home/user/.ssh/authorized_keys: Никакой такой файл или каталог

Создайте ssh ключ: $ ssh-keygen-t rsa –P "" Перемещение ключа к авторизованному ключу: $HOME/.ssh/id_rsa.pub кошки $>> удар $HOME/.ssh/authorized_keys:/home/user/.ssh/authorized_keys: Никакой такой файл или...
16.05.2014
4
ответа

Как “объединить” строки, распечатанные несколькими программами безопасно?

Предположим, что я хочу выполнить несколько программ параллельно и объединить их выводы к одному каналу: sh-c, '(повторяют qqq; эхо qqq2; повторите qqq3), и (повторите www; эхо www2; повторите www3) и (эхо...
10.02.2014

Перенаправление ввода-вывода используется в сценариях оболочки. Эта функция позволяет взять вывод команды и перенаправить его как вход для другой команды, или команда может взять вход из файла вместо от стандартного входного потока или от терминала. Целый процесс помогает соединить потоки данных различными способами.

Перенаправление ввода/вывода и каналы

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

Определенный синтаксис для перенаправления ввода-вывода зависит от , которую Вы используете.

stdin, stdout, stderr

Каждая команда или программа, выполненная оболочкой, имеют 3 потока данных, связанные с ним:

  1. стандартный вход (stdin, с дескриптором файла 0) – где команды получают свой вход от (по умолчанию, ввод с клавиатуры, обеспеченный терминалом).
  2. стандартный вывод (stdout, дескриптор файла 1) – куда команды отправляют свой вывод (по умолчанию, дисплей терминала).
  3. стандартная погрешность (stderr, дескриптор файла 2) – куда команды отправляют свои сообщения об ошибках и предупреждающие сообщения (по умолчанию, дисплей терминала).

По умолчанию, stdin клавиатура и где команда обычно берет свой вход, stdout куда команда отправляет свой вывод и stderr место, где ошибки печатаются.

Перенаправление Shell

Перенаправление ввода-вывода позволяет оболочке управлять этими дескрипторами файлов. Случай общего использования является перенаправлением стандартного вывода команды в другой файл. Сингл > оператор усекает файл для обнуления длины и затем перезаписывает файл с выводом команды:

# Redirecting the output of ls command to a file $ ls -lt > file_ls.txt 

Два больших - чем знаки (>>) добавьте в файл, не усекая его:

$ ./script >> log_file.txt 

Оба stdout и stderr может быть перенаправлен в тот же файл:

# Append the output in commands.log and send the error(2) # where it points the stdout(&1) $ ls -yz >> commands.log 2>&1 

Меньше подписываются (<) используется для перенаправления ввода:

$ cat < input_file.txt 

Некоторые команды, например, ls, не берите вход, таким образом, любой вход, перенаправленный к таким командам, проигнорирован (не считанный программой).

Команда может иметь оба входных и выходных перенаправления одновременно:

$ ./script < input_file > output.log 

Дальнейшее чтение

Связанные теги

Ссылки