[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: