Подробное объяснение тестовой команды в Linux Bash

testКоманды используются для проверки истинности определенного условия. Он может выполнять числовое, символьное и файловое тестирование.

1. Численный тест

  • -eq равный
  • -ne не равен
  • -gt больше, чем
  • -ge больше или равно
  • -lt меньше, чем
  • -le меньше или равно

Например, мы можем проверить, равны ли две переменные:

num1=100
num2=200
if test $num1 -eq $num2
then
    echo 'Two values are equal!'
else
    echo 'Two values are not equal!'
fi

2. Тест строки

  • = равный
  • != не равен
  • -z Независимо от того, равна ли длина строки 0, возвращает true, если длина равна 0.
  • -n Если длина строки равна 0, возвращает true, если длина не равна 0.

Например, мы можем проверить, одинаковы ли две строки:

str1="hello"
str2="world"
if test str1 = str2
then
    echo 'Two strings are the same!'
else
    echo 'Two strings are different!'
fi

3. Проверка файла

  • -e Файл существует?
  • -d Существует ли он и является ли он каталогом
  • -f Существует ли он и является ли он файлом
  • -r Существует ли файл и доступен ли он для чтения
  • -w Существует ли файл и доступен ли он для записи
  • -x Существует ли файл и является ли он исполняемым

Например, мы можем проверить, существует ли файл и является ли он каталогом:

dir_path="./my_dir"
if test -d $dir_path
then
    echo 'The directory exists!'
else
    echo 'The directory does not exist!'
fi

Примечание. [Это testупрощенная версия , поэтому следующие два способа записи эквивалентны:

if test $a -eq $b if [ $a -eq $b ]

Guess you like

Origin blog.csdn.net/jkzyx123/article/details/132716297