Запитання з тегом «test»

Йдеться про тест утиліти Unix "тест", який також викликається як "[", або його синтаксис оболонки [[...]]. Для питань щодо тестування програмного забезпечення та налаштувань скористайтеся тегом "тестування".

5
Навіщо використовувати подвійні лапки в [[]] тесті?
Скажімо, у нас є два цілих числа в bash-скрипті: value1=5 value2=3 Тоді навіщо нам використовувати подвійні лапки у разі тесту? Наприклад: if [[ "$value1" -eq "$value2" ]] Чому б просто не скористатися наступним? if [[ $value1 -eq $value2 ]] Для мене подвійні цитати не мають жодного сенсу.
23 bash  shell  quoting  variable  test 


3
Чи не рівнозначний синтаксис?
Під час написання сценарію я зазвичай пишу свої ifs з наступним синтаксисом, оскільки мені простіше зрозуміти, що наступне - це неправда. if [ ! "$1" = "$2" ]; then Інші кажуть, що шлях нижче є кращим if [ "$1" != "$2" ]; then Річ у тім, коли я запитую, чому …
22 shell  test 

3
Порівняння двох рядків у Bash
У ifмоєму скрипті bash є такий блок: if [ ${PACKAGENAME} -eq kakadu-v6_4-00902C ]; then echo "successfully entered if block!!" fi Виконання сценарію не входить до мого ifблоку, хоча $PACKAGENAMEвоно дорівнює kakadu-v6_4-00902C. Що я роблю неправильно?

3
Чи є якась основна різниця при порівнянні змінної у вигляді рядка або як int
З цікавості під час порівняння баш-змінної (її значення є integer) можна перевірити її на певне заздалегідь визначене значення або оголошено як intабо як string. Приклад сценарію : #!/bin/bash f1() { [ "$1" == "1" ] && echo "$FUNCNAME: \"1\" compared as string" } f2() { [[ "$1" -eq 1 ]] …
22 bash  shell  test 


2
Вираз дужки (без діапазонів), що відповідає несподіваному символу в баші
Я використовую bash на Linux. Я отримую успіх з наступного if заяви, але чи не повинен це повернути код відмови? if [[ ■ = [⅕⅖⅗] ]] ; then echo yes ; fi Квадрат НЕ дорівнює жодному із символів, тому я не бачу, чому я отримую код успіху. Для мене важливо …
20 bash  locale  test 


3
Порівняння цілих чисел: арифметичний вираз або умовний вираз
У Bash два цілих числа можна порівняти, використовуючи умовне вираження arg1 OP arg2 OP є одним з -eq, -ne, -lt, -le, -gt, або -ge. Ці арифметичні двійкові оператори повертають істину, якщо arg1 дорівнює, не дорівнює, менше, менше або дорівнює, більше або більше, або дорівнює arg2 відповідно. Arg1 і arg2 можуть …

3
Дужки в умові: якщо я отримую синтаксичні помилки без пробілів?
Я використовую наведений нижче сценарій, щоб повернутись на два дні назад, коли сценарій працює з початку двох днів року, а також перевірити перший і другий дні кожного місяця і перемістити два дні назад. if [$month="01"] && [$day="01"]; then date="$last_month/$yes_day/$last_year" fulldate="$last_month/$yes_day/$last_year" else if [$month="01"] && [$day="02"]; then date="$last_month/$yes_day/$last_year" fulldate="$last_month/$yes_day/$last_year" else if …

3
Як перевірити, чи визначена змінна взагалі в Bash до версії 4.2 з опцією оболонки іменника?
Для версій 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: foo
16 bash  test 

3
bash: Я зламав [[<]]
Я писав баш сценарій і раптом така поведінка почалася: [[ 1 &lt; 2 ]]; echo $? # outputs 0 [[ 2 &lt; 13 ]]; echo $? # outputs 1 але -ltпрацює добре: [[ 1 -lt 2 ]]; echo $? # outputs 0 [[ 2 -lt 13 ]]; echo $? # …
14 bash  test 

2
`test` і` [`- різні бінарні файли, будь-яка різниця?
Я помітив, відповідаючи на ще одне питання, що є testі [різними бінарними файлами, але сторінка [підтягує test. Окрім вимоги про закінчення ], чи є різниця? Якщо ні, то чому вони відокремлюють двійкові файли, а не пов'язують їх між собою (Вони також є bashвбудованими, і bashрізниці також не виявляються.)

5
Як порівняти версію програми в сценарії оболонки?
Припустимо, я хочу порівняти gccверсію, щоб побачити, чи встановлена ​​в системі мінімальна версія чи ні. Щоб перевірити gccверсію, я виконав наступне gcc --version | head -n1 | cut -d" " -f4 Вихід був 4.8.5 Отже, я написав просту ifзаяву, щоб перевірити цю версію на якусь іншу цінність if [ "$(gcc …


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.