Как управлять всеми параметрами сценария оболочки сразу?

Хотя для конечного количества параметров можно явно сделать что-то вроде

wrapped_function "${1#prefix}" "${2#prefix}" "${3#prefix}" # etc., 

нет ли более простого способа сразу манипулировать всеми параметрами?

One Solution collect form web for “Как управлять всеми параметрами сценария оболочки сразу?”

Конечно, есть,

 wrapped_function "${@#prefix}" 

$@ Представляет совокупность всех параметров $1 , $2 , … (см. Здесь ) в отдельных котировках, т.е. в основном

 $@="\"$1\" \"$2\" \"$3\" ..." 

однако bash применяет переменные манипуляции индивидуально по каждому параметру, т. е.

 ${@#prefix}="\"${1#prefix}\" \"${2#prefix}\" ..." 

Синтаксис ${VAR#prefix} означает, что если $VAR начинается с prefix , удалите его, например

 TEST="/tmp/var/bin"; echo ${TEST#/tmp} # yields "/var/bin" 

Аналогично, для удаления суффикса можно использовать % вместо # .

  • Как я могу подключить путь к pushd?
  • Синтаксический вопрос Shell с сложным расширением параметра
  • Как разделить переменную $ 0, чтобы найти каталог и относительные пути в bash?
  • использовать find для поиска, перемещения и ссылки на дерево каталогов, сопоставляющее {1,10} / *
  • Как избежать <или> в параметре в оболочке?
  • Преобразование позиционных аргументов сценария оболочки
  • найти с -exec eval $ 0
  • Ошибка переменной типа?
  • Как отключить позиционные параметры?
  • Как положить $ @ в кавычки?
  • Как запустить pure-ftpd с портом в качестве службы
  • Документация параметров ядра
  • Linux и Unix - лучшая ОС в мире.