При написании скриптов зачастую необходимо проверить что перемененная не пустая и в зависимости от наличия или отсутствия значения в переменной, выполнить различные действия.
Вы можете передать опцию -z в команду if или условное выражение. Если длина STRING равна нулю, переменная ($var) пуста. Команда test используется для проверки типов файлов и сравнения значений. В этой статье показано, как с помощью команды test узнать, пуста или нет переменная оболочки bash.
Чтобы узнать, пуста ли переменная bash:
- Верните true, если переменная bash не установлена или установлена в пустую строку: if [ -z "$var" ];
- Другой вариант: [ -z "$var" ] && echo "Пустая".
- Определить, пуста ли переменная bash: [[ ! -z "$var" ]] && echo "Не пустая" || echo "Пустая"
Bash Shell Узнать, пуста ли переменная или нет
Рассмотрим синтаксис и примеры подробнее. Для команды if синтаксис выглядит следующим образом:
1 2 3 4 5 6 | if [ -z "$var" ] then echo "\$var Пустая" else echo "\$var не пустая" fi |
или
1 2 3 4 5 6 | if test -z "$var" then echo "\$var пустая" else echo "\$var не пустая" fi |
Другой вариант проверки того, пуста ли переменная оболочки bash или нет
Вы также можете попробовать операторы управления. Синтаксис таков:
1 2 | [ -z "$var" ] && echo "Пустая" [ -z "$var" ] && echo "Пустая" || echo "Не пустая" |
Или
1 2 | [[ -z "$var" ]] && echo "Пустая" [[ -z "$var" ]] && echo "Пустая" || echo "Не пустая" |
Или
1 2 3 4 5 6 | ## Проверьте, установлен ли $var с помощью ! т.е. проверьте, является ли expr ложным ## [ ! -z "$var" ] || echo "Пустая" [ ! -z "$var" ] && echo "Не пустая" || echo "Пустая" [[ ! -z "$var" ]] || echo "Пустая" [[ ! -z "$var" ]] && echo "Не пустая" || echo "Пустая" |
Синтаксис команды if и пример
1 2 3 4 5 6 7 8 | #!/bin/sh _VAR="$1" if [ -z "$_VAR" ] then echo "Установите значение переменной \$_VAR" else echo "\$VAR установлено значение $_VAR" fi |