Shell
>>>>> Артём Н <artiom14@yandex.ru> writes:
>>>>> 03.07.2012 08:23, Ivan Shmakov пишет:
>>> Можно. Но обычно удобнее в конфиге написать
>>> OPT_PARAM1=${OPT_PARAM1:-value1}
>>> и позволить пользователю переопределять именно OPT_PARAM_1,
>>> использование которой он потом увидит, а не неочевидно с нею
>>> связанную ENV_USER_PARAM1
>> BTW, есть и более короткий вариант:
>> : ${VARN:=VALUE}
> Тоже вариант. Просто я все подстановки не помню.
Я /помню/ четыре подстановки «с изменением»:
• ${varn#PATTERN} (${varn##PATTERN}) — значение переменной varn,
за исключением наименьшей (наибольшей) /ведущей/ подстроки,
удовлетворяющей шаблону PATTERN; в частности, d=${f##*/}
равносильно d=$(dirname "$f");
• ${varn%PATTERN} (${varn%%PATTERN}) — то же, но для
/завершающей/ подстроки; e. g., o=${i%.cdr}.ogg;
• ${varn/WHAT/WITH} — значение varn с заменой WHAT на WITH;
• : ${varn:=DEFAULT} — присвоить varn значение DEFAULT если
varn не определена или пуста.
Как подсказывают в news:comp.unix.shell, запомнить смысл
подстановок # и % можно по взаимному расположению символов на
клавиатуре: # … %.
--
FSF associate member #7257
Reply to:
- Follow-Ups:
- Re: Shell
- From: Artem Chuprina <ran@ran.pp.ru>