|
|
ru.unix.bsd
- RU.UNIX.BSD ------------------------------------------------------------------
From : Eugene Grosbein 2:5006/1 21 May 2007 15:35:41
To : Constantin Stefanov
Subject : Re: Как работает конструкция : ${VAR=value} в sh(1)?
--------------------------------------------------------------------------------
21 май 2007, понедельник, в 11:01 KRAST, Constantin Stefanov написал(а): CS> Объясните, пожалуйста, как (почему) работает конструкция CS> : ${VAR=value} CS> в скрипте на sh(1). CS> Что она присваивает переменной VAR значение value, если оно не было CS> присвоено до того, я понял, но почему оно это делает - пока нет. CS> man читан, но кроме CS> : A null command that returns a 0 (true) exit value. Это оно самое. CS> и конструкции ${parameter:=word} ничего подходящего не нашел. И это оно. CS> Снимите с CS> тормоза, где оно описано в мане? В какие разделы смотреть хотя бы? Hу вот там и описано. Оценивание выражения ${parameter:=word} при пустой переменной $parameter имеет побочным эффектом инициализацию $parameter. Итоговое значение выражения дается аргументом команде "двоеточие" с тем чтобы удовлетворить синтаксису. Двоеточие параметры свои игнорирует и вообще ничего не делает, всё это делается ради "побочного эффекта". Если где-то используется форма ${parameter=word} и она работает, есть предположение, что это недокументированная форма, работающая ради совместимости с древними скриптами. Eugene -- Детям нельзя в интернет. От детей интернет тупеет. --- slrn/0.9.8.0 (FreeBSD) * Origin: Svyaz Service JSC (2:5006/1@fidonet) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/26093bdcc0c01.html, оценка из 5, голосов 10
|