Я видел следующее использование скрипта.
export CONFIG=${X_CONFIG:-${Y_CONFIG}}
Вопрос> В чем смысл настоящего скрипта?
Спасибо
Я видел следующее использование скрипта.
export CONFIG=${X_CONFIG:-${Y_CONFIG}}
Вопрос> В чем смысл настоящего скрипта?
Спасибо
${X_CONFIG:-${Y_CONFIG}}}
является parameter expansion for a default value.
То есть: оно равно X_CONFIG
, если установлено значение, отличное от нуля, или Y_CONFIG
, если X_CONFIG
было либо отменено, либо нулевым.
Таким образом, эффект от заявления в целом является назначение переменной CONFIG
иметь одинаковое значение для любого $X_CONFIG
или $Y_CONFIG
, а также экспортировать эту переменную в окружающую среду.
Действительно ли возникает вопрос, какой синтаксис X означает для каждой возможной синтаксической конструкции на языке? Это направление идет вниз. –
... для соответствующих ссылок см. Http://wiki.bash-hackers.org/syntax/pe, http://mywiki.wooledge.org/BashGuide/Parameters#Parameter_Expansion, http://mywiki.wooledge.org/BashFAQ/073, http://tiswww.case.edu/php/chet/bash/bash.html#lbBB, http://mywiki.wooledge.org/BashSheet#Parameter_Operations и т. Д. –
Как в стороне - все -caps имена переменных зарезервированы по соглашению для переменных со значением для оболочки или системы; см. четвертый абзац соответствующей спецификации по адресу http://pubs.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap08.html, резервируя пространство имен переменных с по меньшей мере одним строчным символом для использования в приложении. (Хотя для этой части спецификации POSIX явно указаны только переменные окружения, переменные оболочки совместно используют это пространство имен, поэтому к ним также применяется соглашение). –