Sobes.tech
Назад к вопросам
Middle
4

Как передать вывод одной команды в другую? Разница между | и && и ||

Компании, где спрашивали
МТСМТС

Ответ от нейросети

sobes.tech AI

Чтобы передать вывод одной команды в другую, используется оператор конвейера |. Он берет stdout первой команды и передает его на stdin второй.

Пример:

ls -l | grep "txt"

Здесь вывод ls -l передается в grep, который фильтрует строки с "txt".

Разница между |, && и ||:

  • | (pipe) — передает вывод первой команды как ввод второй, команды выполняются последовательно.
  • && — логический оператор AND, вторая команда выполняется только если первая завершилась успешно (код возврата 0).
  • || — логический оператор OR, вторая команда выполняется только если первая завершилась с ошибкой (код возврата не 0).

Пример с &&:

mkdir new_folder && cd new_folder

cd выполнится только если mkdir прошла успешно.

Пример с ||:

cd existing_folder || echo "Папка не найдена"

Если cd не удастся, выведется сообщение.