[sisyphus] etcnet: профили с бриджом и без
Yuriy Kashirin
yura на emict.com
Ср Мар 28 22:18:30 MSD 2007
On Среда 28 марта 2007, Eugene Prokopiev wrote:
> > Stopping bridge: /etc/net/scripts/shutdown-bri: line 7: HOST:
>
> line 7 выглядит так:
> : ${HOST:?HOST must be set for $NAME}
>
> Моих познаний в программировании на shell недостаточно, чтобы
> понять смысл этой строчки. Что она делает? Насколько она
> необходима?
Она делает ровно то, что вы наблюдвете. Первое двоеточие - просто
команда, которая ничего не делает. А ее аргумент раскрывается так:
man bash
${параметр:?слово}
Выдавать ошибку если параметр не установлен или
имеет пустое значение.
Если параметр имеет пустое значение или не
установлен, указанное слово (или стандартное
сообщение, если слово не задано) выдается в
стандартный поток ошибок, и командный интерпретатор,
если он не интерактивный, завершает работу.
В противном случае, подставляется значение параметра.
То есть если $HOST установлен в непустое значение, то ничего не
поисходит, скрипт работает дальше, а иначе завершается с ошибкой и
сообщением "HOST must be set for $NAME"
--
Best regards
Yuriy Kashirin
Подробная информация о списке рассылки Sisyphus