Когда я должен использовать -eqпротив =против== например [[ $num -eq 0 ]] [[ $num = 'zzz' ]] Я наблюдал образец использования -eq(и -neт. Д.) Для чисел и =для строк. Есть ли причина для этого и когда я должен...
Когда я должен использовать -eqпротив =против== например [[ $num -eq 0 ]] [[ $num = 'zzz' ]] Я наблюдал образец использования -eq(и -neт. Д.) Для чисел и =для строк. Есть ли причина для этого и когда я должен...
В Bash два целых числа можно сравнить с помощью условного выражения arg1 OP arg2 OP является одним из -eq, -ne, -lt, -le, -gt, или -ge. Эти арифметические бинарные операторы возвращают true, если arg1 равно, не равно, меньше, меньше или равно, больше или больше или равно arg2 , соответственно. Arg1...
Когда я набираю это в терминале test 4 -lt 6 Я не получаю никакого вывода. Почему бы нет? Мне нужно это 0 или
Я использую Bash на Linux. Я получаю успех от следующего оператора if, но разве это не должно возвращать код ошибки? if [[ ■ = [⅕⅖⅗] ]] ; then echo yes ; fi Квадрат НЕ равен ни одному из символов, поэтому я не понимаю, почему я получаю код успеха. Для меня важно сохранить двойные скобки в моем...
Я использую приведенный ниже сценарий для перемещения на два дня назад, когда сценарий запускается в начале двух дней в году, а также для проверки первого и второго дней каждого месяца и перехода на два дня назад. if [$month="01"] && [$day="01"]; then date="$last_month/$yes_day/$last_year"...
Для версий Bash до "GNU bash, Версия 4.2" есть ли эквивалентные альтернативы -vопции testкоманды? Например: shopt -os nounset test -v foobar && echo foo || echo bar # Output: bar foobar= test -v foobar && echo foo || echo bar # Output:...
Предположим, я хочу сравнить gccверсию, чтобы увидеть, установлена ли в системе минимальная версия или нет. Чтобы проверить gccверсию, я выполнил следующее gcc --version | head -n1 | cut -d" " -f4 Выход был 4.8.5 Итак, я написал простое ifутверждение, чтобы проверить эту версию с некоторым другим...
Я писал сценарий bash, и вдруг это поведение началось: [[ 1 < 2 ]]; echo $? # outputs 0 [[ 2 < 13 ]]; echo $? # outputs 1 но -ltработает добротно [[ 1 -lt 2 ]]; echo $? # outputs 0 [[ 2 -lt 13 ]]; echo $? # outputs 0 я случайно <как-то перезаписал ? Вот скрипт, который я написал, чтобы...
Я заметил, отвечая на другой вопрос , что testи [являются разными двоичными файлами, но [страница руководство тянет test«с. Помимо требования к финалу ], есть ли разница? Если нет, то почему они являются отдельными двоичными файлами вместо символьных ссылок? (Они также являются bashвстроенными и...
Я только что нашел способ начать, zshкогда я запускаю bashна Windows из https://www.howtogeek.com/258518/how-to-use-zsh-or-another-shell-in-windows-10/ . Рекомендуется добавить следующий код в конце .bashrc. # Launch Zsh if [ -t 1 ]; then exec zsh fi Что [ -t 1 ]значит? Это правда? Тогда я могу...
Имеет ли if [[ "$1" = pattern ]]; then hook fi всегда вести себя так же, как case "$1" in pattern) hook;; esac или есть какие-то
От man bash: CONDITIONAL EXPRESSIONS [...] -a file True if file exists. [...] -e file True if file exists. Так в чем же разница между [ -a $FILE ]и [ -e $FILE ], если таковые имеются? Если нет реальной разницы, почему существуют два флага для одной и той же цели?...
Встроенные утилиты testи [утилиты имеют тесты -nt(«новее чем») и -ot(«старше чем») в большинстве оболочек, даже когда оболочка работает в «режиме POSIX» (также верно для внешних утилит с такими же именами на системы, к которым у меня есть доступ). Эти тесты предназначены для сравнения меток времени...
Стефан Шазелас писал: несколько правил, таких как всегда указывать переменные никогда не используйте оператор -aor -o(используйте несколько [команд &&и ||операторы и shell) Сделать [надежным с POSIX снарядами. Почему "никогда не используйте оператор -aили -o"? Как я могу сделать...
Я прочитал инструкцию, чтобы запланировать сценарий на последний день месяца: Примечание . Проницательному читателю может быть интересно, как вы можете настроить команду для выполнения в последний день каждого месяца, потому что вы не можете установить значение dayofmonth для покрытия каждого...
Проблема: мне нужно проверить, не сегодня ли четверг, и выполнить различные действия в зависимости от результата этого условия. Я попробовал два разных подхода: Получение названия дня: DAYOFWEEK=$(date +"%a") echo DAYOFWEEK: $DAYOFWEEK if ["$DAYOFWEEK" == "Thu"]; then echo YES else echo NO fi...
У меня есть сценарий оболочки с именем «teleport.sh», как это: if [ $1="1" ]; then shift mv "$@" ~/lab/Sun elif [ $1="2" ]; then shift mv "$@" ~/lab/Moon elif [ $1="3" ]; then shift mv "$@" ~/lab/Earth fi Когда я выполню: sh teleport.sh 2 testfile Это testfileперемещено в ~/lab/Sunкаталог, что меня...
Если я создаю файл как непривилегированный пользователь и изменяю режим разрешений на него 400, он корректно воспринимается этим пользователем как доступный только для чтения: $ touch somefile $ chmod 400 somefile $ [ -w somefile ] && echo rw || echo ro ro Все хорошо. Но потом приходит...
Я проверил свой сценарий с контрбашизмами и получил следующие предупреждения: possible bashism in check_ssl_cert line 821 (test -a/-o): if [ -n "${ALTNAMES}" -a -n "${COMMON_NAME}" ] ; then В разделе 4.62.4 спецификаций POSIX я нахожу первичный-первичный Выполняет двоичный файл и результаты...
Я получаю то, что ожидал, делая это в bash: [ "a" == "a" ] && echo yes Это дало мне yes. Но когда я делаю это zsh, я получаю следующее: zsh: = not found Почему одна и та же команда ( /usr/bin/[) ведет себя по-разному в разных...