В bash я нашел следующее:
unset MY_VARIABLE
: ${MY_VARIABLE='my_value'}
MY_VARIABLE=${MY_VARIABLE:+$( false )}${MY_VARIABLE:-'this_will_fail_with_exit_1'}
echo $?
echo $MY_VARIABLE
Это печатает:
1
my_value
Различия описаны в man apt-cache
. Подводя итог:
policy
показывает приоритеты либо всех репозиториев, либо пакетов, заданных в качестве аргументов; show
показывает основную информацию о пакете (всю информацию в управляющих файлах, не полагаясь ни на какую внешнюю информацию ); showpkg
показывает прямую и обратную зависимости. Вы должны использовать команду, которая дает нужную вам информацию. policy
например, полезно определить, какие версии доступны и почему они могут или не могут быть установлены.
Все команды показывают информацию обо всех доступных версиях :текущей -установленной версии (если таковая имеется )и версиях в репозиториях (по состоянию на последнююapt update
).
Детали повторяются, потому что доступны две версии.
Текущая -установленная версия — 105, но 135 доступна в репозиториях. policy
показывает 135 в качестве кандидата, поэтому следующее обновление попытается установить его.