Linux Alias ​​с несколькими и зависимыми командами возможно?

Я создал несколько псевдонимов, которые я использую один за другим. Это всегда зависит от того, была ли предыдущая команда успешной.

Можно ли использовать один псевдоним для нескольких команд, в зависимости от вывода на экран? Например: если вывод содержит "fail" или "error", следующая команда не должна быть установлена.

1 ответ

Обычно неудача команды сигнализируется ненулевым состоянием выхода. В таком случае, используя && решает вашу проблему:

ls /nonexistent-file && echo This won\'t be printed

Если вам нужно проверить вывод, вы можете использовать grep а также ||:

echo fail | grep 'fail\|error' || echo This won\'t be printed

Не забудьте процитировать псевдоним контента:

alias safe-ls='ls /nonexistent-file && echo This won'\''t be printed'

Если вам нужны параметры для команд, вам придется использовать вместо них функции:

safe-ls () {
    ls "$1" && echo This won\'t be printed
}
Другие вопросы по тегам