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

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

6
Яка різниця між операторами Bash [[vs [vs (((?
Я трохи заплутаний у тому, що роблять ці оператори по-різному, коли вони використовуються в bash (дужки, подвійні дужки, дужки та подвійні дужки). [[ , [ , ( , (( Я бачив, як люди використовують їх, якщо такі заяви: if [[condition]] if [condition] if ((condition)) if (condition)
245 bash  shell  test 

4
Чому розширення параметрів з пробілами без лапок працює всередині подвійних дужок "[[", але не всередині окремих дужок "["?
Мене плутають у використанні одинарних чи подвійних дужок. Подивіться на цей код: dir="/home/mazimi/VirtualBox VMs" if [[ -d ${dir} ]]; then echo "yep" fi Він прекрасно працює, хоча рядок містить пробіл. Але коли я зміню його на одну дужку: dir="/home/mazimi/VirtualBox VMs" if [ -d ${dir} ]; then echo "yep" fi Він …
85 bash  quoting  ksh  test 

12
Як перевірити, чи існує змінна в операторі "якщо"?
Мені потрібно перевірити існування змінної у ifвиписці. Щось до ефекту: if [ -v $somevar ] then echo "Variable somevar exists!" else echo "Variable somevar does not exist!" І найближче до цього питання було це , що насправді не відповідає на моє запитання.
69 shell  variable  test 


5
Як саме працює "/ bin / ["?
Мене завжди дивує, що в папці /binє [програма. Це те, що називається, коли ми робимо щось на кшталт if [ something ]:? Викликаючи [програму явно в оболонці, вона запитує відповідну ], і коли я надаю дужку закриття, вона, здається, нічого не робить, незалежно від того, що я вставляю між дужками. …
50 shell  test 

7
Це тест або [або [[більш портативний як між оболонками, так і між іншими оболонками?
Я бачу, що можу зробити $ [ -w /home/durrantm ] && echo "writable" writable або $ test -w /home/durrantm && echo "writable" writable або $ [[ -w /home/durrantm ]] && echo "writable" writable Мені подобається використовувати третій синтаксис. Чи вони рівнозначні в усіх напрямках і для всіх негативних та кращих …

2
Тест Баша: що робить "= ~"?
#!/bin/bash INT=-5 if [[ "$INT" =~ ^-?[0-9]+$ ]]; then echo "INT is an integer." else echo "INT is not an integer." >&2 exit 1 fi Що робить провідний ~у вихідному регулярному виразі?
40 bash  test 


6
Перевірка, чи вхідне число є цілим числом
Я намагаюся перевірити, чи є вхід цілим числом, і я перейшов його за сто разів, але не бачу помилки в цьому. На жаль, це не працює, він запускає оператор if для всіх входів (цифри / літери) read scale if ! [[ "$scale" =~ "^[0-9]+$" ]] then echo "Sorry integers only" …

8
Перевірте, чи є файли, що відповідають шаблону для виконання сценарію
Я намагаюся написати ifзаяву, щоб перевірити, чи є файли, що відповідають певній схемі. Якщо в каталозі є текстовий файл, він повинен запускати заданий сценарій. Мій код на даний момент: if [ -f /*.txt ]; then ./script fi Будь ласка, дайте кілька ідей; Я хочу запустити скрипт, лише якщо .txtв каталозі …

2
Помилка тесту дужки оболонки, коли рядок є лівою дужкою
Я раніше був впевнений у тому, що цитування рядків - це завжди хороша практика, щоб уникнути розбору оболонки. Потім я натрапив на це: $ x='(' $ [ "$x" = '1' -a "$y" = '1' ] bash: [: `)' expected, found 1 Намагаючись ізолювати проблему, отримуючи ту ж помилку: $ [ …
27 shell  test 


4
Тестування, чи змінна порожня в сценарії оболонки
Я бачив таку методику, яку багато разів використовували на різних оболонках, щоб перевірити, чи змінна порожня: if [ "x$1" = "x" ]; then # Variable is empty fi Чи є якісь переваги щодо використання цього над більш канонічним if [ -z "$1" ]? Чи може це бути проблемою переносимості?

5
Як я можу використовувати команду bash, якщо разом перевірити та знайти команди?
У мене є каталог з журналами аварійного завершення, і я хотів би використовувати умовний оператор у скрипті bash на основі команди find. Файли журналу зберігаються в такому форматі: /var/log/crashes/app-2012-08-28.log /var/log/crashes/otherapp-2012-08-28.log Я хочу, щоб оператор if повертав істину лише в тому випадку, якщо для конкретного додатка є журнал аварій, який було …

4
Починаючи з bash: -lt та -gt аргументи
Я починаю з bash і знайшов наступне: if test $first -lt $second then echo $first is lower than $second else if test $first -gt $second then echo $first is higher than $second else echo $first and $second are equals fi fi Прочитавши сценарій та виконуючи його, я знаю, що він …
24 bash  shell  test 

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