Вопросы с тегом «test»

20
Сравнение целых чисел: арифметическое выражение или условное выражение

В Bash два целых числа можно сравнить с помощью условного выражения arg1 OP arg2 OP является одним из -eq, -ne, -lt, -le, -gt, или -ge. Эти арифметические бинарные операторы возвращают true, если arg1 равно, не равно, меньше, меньше или равно, больше или больше или равно arg2 , соответственно. Arg1...

20
Выражение в скобках (без диапазонов), совпадающее с неожиданным символом в bash

Я использую Bash на Linux. Я получаю успех от следующего оператора if, но разве это не должно возвращать код ошибки? if [[ ■ = [⅕⅖⅗] ]] ; then echo yes ; fi Квадрат НЕ равен ни одному из символов, поэтому я не понимаю, почему я получаю код успеха. Для меня важно сохранить двойные скобки в моем...

17
Скобки в условии if: почему я получаю синтаксические ошибки без пробелов?

Я использую приведенный ниже сценарий для перемещения на два дня назад, когда сценарий запускается в начале двух дней в году, а также для проверки первого и второго дней каждого месяца и перехода на два дня назад. if [$month="01"] && [$day="01"]; then date="$last_month/$yes_day/$last_year"...

14
Как сравнить версию программы в скрипте оболочки?

Предположим, я хочу сравнить gccверсию, чтобы увидеть, установлена ​​ли в системе минимальная версия или нет. Чтобы проверить gccверсию, я выполнил следующее gcc --version | head -n1 | cut -d" " -f4 Выход был 4.8.5 Итак, я написал простое ifутверждение, чтобы проверить эту версию с некоторым другим...

14
Баш: я сломал [[<]]

Я писал сценарий bash, и вдруг это поведение началось: [[ 1 < 2 ]]; echo $? # outputs 0 [[ 2 < 13 ]]; echo $? # outputs 1 но -ltработает добротно [[ 1 -lt 2 ]]; echo $? # outputs 0 [[ 2 -lt 13 ]]; echo $? # outputs 0 я случайно <как-то перезаписал ? Вот скрипт, который я написал, чтобы...

13
`test` и` [`- разные двоичные файлы, какая разница?

Я заметил, отвечая на другой вопрос , что testи [являются разными двоичными файлами, но [страница руководство тянет test«с. Помимо требования к финалу ], есть ли разница? Если нет, то почему они являются отдельными двоичными файлами вместо символьных ссылок? (Они также являются bashвстроенными и...

13
Что проверяет [-t 1]?

Я только что нашел способ начать, 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 ]значит? Это правда? Тогда я могу...

12
В чем разница -a и -e в условных выражениях bash?

От man bash: CONDITIONAL EXPRESSIONS [...] -a file True if file exists. [...] -e file True if file exists. Так в чем же разница между [ -a $FILE ]и [ -e $FILE ], если таковые имеются? Если нет реальной разницы, почему существуют два флага для одной и той же цели?...

11
Выполнение -nt / -ot теста в POSIX ш

Встроенные утилиты testи [утилиты имеют тесты -nt(«новее чем») и -ot(«старше чем») в большинстве оболочек, даже когда оболочка работает в «режиме POSIX» (также верно для внешних утилит с такими же именами на системы, к которым у меня есть доступ). Эти тесты предназначены для сравнения меток времени...

11
никогда не используйте оператор `-a` или` -o` с `[`

Стефан Шазелас писал: несколько правил, таких как всегда указывать переменные никогда не используйте оператор -aor -o(используйте несколько [команд &&и ||операторы и shell) Сделать [надежным с POSIX снарядами. Почему "никогда не используйте оператор -aили -o"? Как я могу сделать...

10
Расписание последнего дня каждого месяца

Я прочитал инструкцию, чтобы запланировать сценарий на последний день месяца: Примечание . Проницательному читателю может быть интересно, как вы можете настроить команду для выполнения в последний день каждого месяца, потому что вы не можете установить значение dayofmonth для покрытия каждого...

10
Как использовать запрос If-Else, основанный на дне недели?

Проблема: мне нужно проверить, не сегодня ли четверг, и выполнить различные действия в зависимости от результата этого условия. Я попробовал два разных подхода: Получение названия дня: DAYOFWEEK=$(date +"%a") echo DAYOFWEEK: $DAYOFWEEK if ["$DAYOFWEEK" == "Thu"]; then echo YES else echo NO fi...

10
Почему ветвь 'if [$ 1 = “1”] ”всегда выбирается, даже если $ 1 не равен 1?

У меня есть сценарий оболочки с именем «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каталог, что меня...

10
Почему файл с 400 правами доступа доступен для записи пользователю root, но только для чтения пользователем?

Если я создаю файл как непривилегированный пользователь и изменяю режим разрешений на него 400, он корректно воспринимается этим пользователем как доступный только для чтения: $ touch somefile $ chmod 400 somefile $ [ -w somefile ] && echo rw || echo ro ro Все хорошо. Но потом приходит...

9
Тест POSIX и -a

Я проверил свой сценарий с контрбашизмами и получил следующие предупреждения: possible bashism in check_ssl_cert line 821 (test -a/-o): if [ -n "${ALTNAMES}" -a -n "${COMMON_NAME}" ] ; then В разделе 4.62.4 спецификаций POSIX я нахожу первичный-первичный Выполняет двоичный файл и результаты...