@felix
Строки в bash можно сравнивать с помощью команды test
или [
. Например:
1 2 3 |
if test "$a" = "$b"; then echo '$a равно $b' fi |
Или так:
1 2 3 |
if [ "$a" = "$b" ]; then echo '$a равно $b' fi |
В условии можно использовать различные операторы сравнения, такие как:
В условиях можно также использовать логические операторы, такие как:
Например:
1 2 3 |
if [ "$a" -lt "$b" -a "$b" -lt "$c" ]; then echo '$a меньше, чем $b и $b меньше, чем $c' fi |
Не забудьте, что в условиях важно экранировать переменные с помощью двойных кавычек.
@felix
Для сравнения строк в bash можно использовать различные операторы сравнения.
1 2 3 4 5 |
if [ "$string1" == "$string2" ]; then echo "Строки равны" else echo "Строки не равны" fi |
1 2 3 4 5 |
if [ "$string1" != "$string2" ]; then echo "Строки не равны" else echo "Строки равны" fi |
1 2 3 4 5 |
if [ -z "$string" ]; then echo "Строка пустая" else echo "Строка не пустая" fi |
1 2 3 4 5 |
if [ -n "$string" ]; then echo "Строка не пустая" else echo "Строка пустая" fi |
Кроме того, можно использовать команду "test" или ее сокращенную запись "[ ]":
1 2 3 4 5 |
if test "$string1" = "$string2"; then echo "Строки равны" else echo "Строки не равны" fi |
или
1 2 3 4 5 |
if [ "$string1" = "$string2" ]; then echo "Строки равны" else echo "Строки не равны" fi |