Проблема проверки аргументов в сценарии Bash

Если вам нужно хранимое свойство «только для чтения», используйте private(set):

private(set) var isEquilateral = false

Если это свойство вычисляется из других свойств, тогда да, используйте свойство computed:

var isEquilateral: Bool {
    return a == b && b == c
}
5
задан moo 19 June 2009 в 15:14
поделиться

2 ответа

if [ $# -ne 3 -a "$3" -ne "1" ]; then
  exit 0
fi

Для справки

-a = and
-o = or

Или вы можете просто использовать:

if [[ $# != 3 && "$3" != "1" ]]; then
19
ответ дан 18 December 2019 в 07:31
поделиться

См.

http://bash-hackers.org/wiki/doku.php/commands/classictest#and_and_or и http://bash-hackers.org/wiki/doku.php/syntax/ccmd/conditional_expression

Поскольку вы просто проверяете значения выхода / возврата с помощью «если», вам нужно предоставить что-то, например команда, которая предоставляет значимые на основе ваших тестов. [является такой командой, другой возможностью является [[ключевое слово.

Фактические правильные примеры уже были упомянуты выше, я не хочу просто повторять их :)

2
ответ дан 18 December 2019 в 07:31
поделиться
Другие вопросы по тегам:

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