Пример 7-6. Проверка -- является ли строка пустой
Пример 7-6. Проверка -- является ли строка пустой
#!/bin/bash
# str-test.sh: Проверка пустых строк и строк, не заключенных в кавычки,
# Используется конструкция if [ ... ]
# Если строка не инициализирована, то она не имеет никакого определенного значения.
# Такое состояние называется "null" (пустая) (это не то же самое, что ноль).
if [ -n $string1 ] # $string1 не была объявлена или инициализирована.
then
echo "Строка "string1" не пустая."
else
echo "Строка "string1" пустая."
fi
# Неверный результат.
# Выводится сообщение о том, что $string1 не пустая,
#+не смотря на то, что она не была инициализирована.
echo
# Попробуем еще раз.
if [ -n "$string1" ] # На этот раз, переменная $string1 заключена в кавычки.
then
echo "Строка "string1" не пустая."
else
echo "Строка "string1" пустая."
fi # Внутри квадратных скобок заключайте строки в кавычки!
echo
if [ $string1 ] # Опустим оператор -n.
then
echo "Строка "string1" не пустая."
else
echo "Строка "string1" пустая."
fi
# Все работает прекрасно.
# Квадратные скобки -- [ ], без посторонней помощи определяют, что строка пустая.
# Тем не менее, хорошим тоном считается заключать строки в кавычки ("$string1").
#
# Как указывает Stephane Chazelas,
# if [ $string 1 ] один аргумент "]"
# if [ "$string 1" ] два аргумента, пустая "$string1" и "]"
echo
string1=initialized
if [ $string1 ] # Опять, попробуем строку без ничего.
then
echo "Строка "string1" не пустая."
else
echo "Строка "string1" пустая."
fi
# И снова получим верный результат.
# И опять-таки, лучше поместить строку в кавычки ("$string1"), поскольку...
string1="a = b"
if [ $string1 ] # И снова, попробуем строку без ничего..
then
echo "Строка "string1" не пустая."
else
echo "Строка "string1" пустая."
fi
# Строка без кавычек дает неверный результат!
exit 0
# Спвсибо Florian Wisser, за предупреждение.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Null (пустой тип) и undefined (неопределенный тип)
Null (пустой тип) и undefined (неопределенный тип) Если переменная была объявлена с помощью ключевого слова var, но ей еще ни разу не присваивалось значение, она имеет неопределенный тип (undefined):var MyVariable;После выполнения этой строки переменная MyVariable имеет тип undefined. Как уже
Чем TDD не является
Чем TDD не является При всех своих достоинствах TDD – не религия и не панацея. Выполнение трех законов не гарантирует ни одного из перечисленных преимуществ. Плохой код можно написать даже при предварительном написании тестов. Да и сами тесты тоже могут быть написаны
Подарок в пустой корзине
Подарок в пустой корзине Повысить конверсию в интернет-магазине позволяет простая и интересная фишка – класть всем новым пользователям в корзину какой-то небольшой подарок и рядом делать красивую заметную надпись: «В вашей корзине один подарок!».Корзина – это значимый
3.3. Проверка, содержит ли строка допустимое число
3.3. Проверка, содержит ли строка допустимое число ПроблемаИмеется строка string и требуется определить, содержит ли она допустимое число.РешениеДля проверки допустимости числа можно использовать шаблон функции lexical_cast библиотеки Boost. При таком подходе допустимое число
Пустой оператор
Пустой оператор Синтаксис:;Действие:Пустой оператор — это оператор, состоящий только из точки с запятой. Он может появиться в любом месте программы, где по правилам синтаксиса требуется оператор. Выполнение пустого оператора не меняет состояния программы.Пример:for(i = 0; i
Пример 4-4. Целое число или строка?
Пример 4-4. Целое число или строка? #!/bin/bash# int-or-string.sh: Целое число или строка?a=2334 # Целое число.let "a += 1"echo "a = $a " # a = 2335echo # Все еще целое число.b=${a/23/BB} # замена "23" на "BB". # Происходит трансформация числа в строку.echo "b = $b" # b = BB35declare -i b
Пример 10-9. Проверка авторства всех бинарных файлов в текущем каталоге
0
Пример 13-5. Проверка образа CD
Пример 13-5. Проверка образа CD # С правами root...mkdir /mnt/cdtest # Подготовка точки монтирования.mount -r -t iso9660 -o loop cd-image.iso /mnt/cdtest # Монтирование образа диска.# ключ "-o loop" эквивалентен "losetup /dev/loop0"cd /mnt/cdtest # Теперь проверим образ диска.ls -alR # Вывод списка
Пример 24-1. Проверка аргументов командной строки с помощью "И-списка"
Пример 24-1. Проверка аргументов командной строки с помощью "И-списка" #!/bin/bash# "И-список"if [ ! -z "$1" ] && echo "Аргумент #1 = $1" && [ ! -z "$2" ] && echo "Аргумент #2 = $2"then echo "Сценарию передано не менее 2 аргументов." # Все команды в цепочке возвращают true.else echo "Сценарию передано менее 2
9.13 Пустой Оператор
9.13 Пустой Оператор Пустой оператор имеет вид;Пустой оператор используется для помещения метки непоредственно перед *) составного оператора или того, чтобы снабдить такие операторы, как while, пустым
Пустой оператор
Пустой оператор Пустой оператор не включает никаких символов, не выполняет никаких действий и используется в двух случаях:1. Для использования символа ; после последнего оператора в блоке: begin a := 1; b := a; end Поскольку в языке Паскаль символ ; разделяет операторы, то в
У15.2 Является ли окно строкой?
У15.2 Является ли окно строкой? Окно содержит ассоциированный с ним текст, представленный атрибутом text типа STRING. Стоит ли отказаться от атрибута и объявить WINDOW наследником класса
Киберпространство является общественным
Киберпространство является общественным Развернувшаяся в Соединенных Штатах полемика вокруг Закона о телекоммуникациях 1996 года безжалостно обнажила ограничения «калифорнийской идеологии». Барлоу может, конечно, предаваться мечтаниям об уходе в гиперреальность