Как скручивание печатает на терминал во время трубопровода

Поскольку устройство сломано, я думаю, что ваша ОС смонтировала раздел только для чтения. Проверьте вывод mount в терминале.

Я настоятельно рекомендую не удалять / записывать что-либо на этом диске. Вместо этого подумайте о создании резервной копии диска, прежде чем диск перестанет работать вообще.

3
задан 10 August 2017 в 21:37

6 ответов

Доступны два выходных потока: стандартный вывод и стандартная ошибка. На практике при работе в терминале оба отправляют данные на терминал. > перенаправляет только стандартный вывод, а curl выводит данные о ходе выполнения на стандартную ошибку. Чтобы подавить оба варианта, используйте один из:

curl ... > /dev/null 2>&1
curl ... &> /dev/null    # bash's combined redirection operator
curl -s ...    # -s, --silent: Silent or quiet mode. Don't show progress meter or error messages.

Чтобы отправить оба на канал:

curl ... 2>&1 | ...
curl |& ...    # bash's combined pipe

Если вы не используете операторы |& или &>, все потоки перенаправлены независимо.

Также см .:

Переполнение стека: запутано о stdin, stdout и stderr?
7
ответ дан 22 May 2018 в 19:37

Доступны два выходных потока: стандартный вывод и стандартная ошибка. На практике при работе в терминале оба отправляют данные на терминал. > перенаправляет только стандартный вывод, а curl выводит данные о ходе выполнения на стандартную ошибку. Чтобы подавить оба варианта, используйте один из:

curl ... > /dev/null 2>&1 curl ... &> /dev/null # bash's combined redirection operator curl -s ... # -s, --silent: Silent or quiet mode. Don't show progress meter or error messages.

Чтобы отправить оба на канал:

curl ... 2>&1 | ... curl |& ... # bash's combined pipe

Если вы не используете операторы |& или &>, все потоки перенаправлены независимо.

Также см .:

Переполнение стека: запутано о stdin, stdout и stderr?
7
ответ дан 18 July 2018 в 08:46

Доступны два выходных потока: стандартный вывод и стандартная ошибка. На практике при работе в терминале оба отправляют данные на терминал. > перенаправляет только стандартный вывод, а curl выводит данные о ходе выполнения на стандартную ошибку. Чтобы подавить оба варианта, используйте один из:

curl ... > /dev/null 2>&1 curl ... &> /dev/null # bash's combined redirection operator curl -s ... # -s, --silent: Silent or quiet mode. Don't show progress meter or error messages.

Чтобы отправить оба на канал:

curl ... 2>&1 | ... curl |& ... # bash's combined pipe

Если вы не используете операторы |& или &>, все потоки перенаправлены независимо.

Также см .:

Переполнение стека: запутано о stdin, stdout и stderr?
7
ответ дан 24 July 2018 в 19:10

Когда вы используете curl для открытия URL-адреса, вы получите два выхода:

Состояние самого curl. Содержимое этого URL-адреса.

Curl должен использовать способ показать эти два отдельно, иначе обработка реального вывода (содержимого URL-адреса) будет сложной, и я получаю ненужное содержимое (статус curl).

] Поэтому он использует stderr для своего статуса и stdout для контента.

Используя >, вы перенаправляете содержимое URL-адреса (stdout) на /dev/null, вы должны фактически использовать: [ f9].

Также, если вы хотите передать оба из них в следующую команду:

curl url |&  command

Если вы хотите, чтобы контент был подключен к следующей команде, не видя статус:

curl 2> /dev/null | command
2
ответ дан 22 May 2018 в 19:37

Когда вы используете curl для открытия URL-адреса, вы получите два выхода:

Состояние самого curl. Содержимое этого URL-адреса.

Curl должен использовать способ показать эти два отдельно, иначе обработка реального вывода (содержимого URL-адреса) будет сложной, и я получаю ненужное содержимое (статус curl).

] Поэтому он использует stderr для своего статуса и stdout для контента.

Используя >, вы перенаправляете содержимое URL-адреса (stdout) на /dev/null, вы должны фактически использовать: 2> /dev/null.

Также, если вы хотите передать оба из них в следующую команду:

curl url |& command

Если вы хотите, чтобы контент был подключен к следующей команде, не видя статус:

curl 2> /dev/null | command
2
ответ дан 18 July 2018 в 08:46

Когда вы используете curl для открытия URL-адреса, вы получите два выхода:

Состояние самого curl. Содержимое этого URL-адреса.

Curl должен использовать способ показать эти два отдельно, иначе обработка реального вывода (содержимого URL-адреса) будет сложной, и я получаю ненужное содержимое (статус curl).

] Поэтому он использует stderr для своего статуса и stdout для контента.

Используя >, вы перенаправляете содержимое URL-адреса (stdout) на /dev/null, вы должны фактически использовать: 2> /dev/null.

Также, если вы хотите передать оба из них в следующую команду:

curl url |& command

Если вы хотите, чтобы контент был подключен к следующей команде, не видя статус:

curl 2> /dev/null | command
2
ответ дан 24 July 2018 в 19:10

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

Похожие вопросы: