Sobes.tech
Middle

Como passar a saída de um comando para outro? A diferença entre | e && e ||

sobes.tech IA

Resposta da IA

Чтобы передать вывод одной команды в другую, используется оператор конвейера |. Он берет 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 не удастся, выведется сообщение.