Существует похожая идиома, основанная на использовании символов || для разделения двух элементов в команде bash. Эта пара символов читается как «ИЛИ»: вторая часть команды будет выполнена, только если первая закончится неудачей. Такой образ действий напоминает логическое «ИЛИ», например: А ИЛИ Б. Все выражение истинно, если истинна хотя бы одна из его частей, А или Б. Иными словами, если А истинно, то не имеет значения, истинно ли Б. Например, рассмотрим такое выражение: «У меня есть собака ИЛИ кошка». Если у меня действительно есть собака, то это выражение истинно, независимо от наличия кошки.
По сути, это тоже оператор if. Если команда cd выполнится успешно, то выполнится и команда rm. «Идиома» здесь — это использование для разделения команд пары амперсандов (&&), которая обычно читается как «И».
На уроках логики и философии учат правилу: выражение «А И Б» истинно тогда и только тогда, когда оба условия, А и Б, истинны. Следовательно, если А ложно, то нет необходимости даже рассматривать Б. Например, возьмем такое выражение: «У меня есть собака, И у меня есть кошка». Если у меня нет собаки, то это составное выражение неверно, независимо от наличия у меня кошки.
Применим это правило в bash. Напомним, что основная функция bash — выполнять команды. В первой части нашего примера выполняется команда cd. В соответствии с логикой, если эта первая команда потерпела неудачу, то bash не будет выполнять вторую команду rm.
По сути, это тоже оператор if. Если команда cd выполнится успешно, то выполнится и команда rm. «Идиома» здесь — это использование для разделения команд пары амперсандов (&&), которая обычно читается как «И».
На уроках логики и философии учат правилу: выражение «А И Б» истинно тогда и только тогда, когда оба условия, А и Б, истинны. Следовательно, если А ложно, то нет необходимости даже рассматривать Б. Например, возьмем такое выражение: «У меня есть собака, И у меня есть кошка». Если у меня нет собаки, то это составное выражение неверно, независимо от наличия у меня кошки.
Применим это правило в bash. Напомним, что основная функция bash — выполнять команды. В первой части нашего примера выполняется команда cd. В соответствии с логикой, если эта первая команда потерпела неудачу, то bash не будет выполнять вторую команду rm.
Если бы вы знали, что help test расскажет вам о значении -n, то, может, и не купили бы эту книгу. И еще один тонкий момент: попробуйте команду help [. Пожалуйста.