Переменная не существует, если она не установлена. Например,
unset var
echo ${var?"this is not set"}
-bash: var: this is not set
Оболочка отображает сообщение об ошибке , если var
не задано. Эхо
не выполняется. (См. Справочную страницу bash, чтобы узнать о способах проверки и присвоения значений переменной, которая существует, но может иметь или не иметь значение, либо значение, которое не существует.)
Более обычным случаем является подстановка без ошибок. , и будет обрабатываться следующим образом:
unset var
echo ${var:-This is a new value}
This is a new value
Переменная существует и имеет значение. Например,
var=123
echo ${var?"this is not set"}
123
Переменная существует, но пуста ( ""
)
var=
echo ${var?"this is not set"}
Эхо выводит значение var
, которое является пустым, с последующим его обычным символом новой строки
Назначение значения происходит примерно так:
var=123
echo $var
123
declare используется для назначения атрибутов переменной (проверьте страницу руководства bash для typeset
или declare
в оболочке **). встроенные команды **
для подробностей.
Vim зависал, потому что мой файл тегов был слишком большим. Я добавил несколько каталогов и типов файлов в.agignore, а затем перезапустил ctags с помощью ctags -R --exclude=@.agignore
, что привело к гораздо меньшему размеру файла тегов (19 МБ вместо 2 ГБ ), и теперь vim больше не зависает