Подтвердить что ты не робот

Может ли расширение параметра встраиваться в Bash?

Возможный дубликат:
Могут ли выражения расширения параметра ${var} вставляться в bash?

Можно ли вложить расширение параметра оболочки (${})?

Если я хочу сделать что-то вроде этого:

foo=( 1 2 3 4 5 )
echo ${${foo[@]/3/bar}:1}
4b9b3361

Ответ 1

Насколько я знаю, невозможно развернуть расширение параметра оболочки. Боюсь, вам придется выяснить другой способ достижения того, что вам нужно. Если вы разместите код, возможно, мы сможем вам помочь.

Ответ 2

Нет, вы не можете. (Вы можете в zsh, но не в bash, ksh или других оболочках.)

Вам нужно использовать промежуточную переменную:

foo=( 1 2 3 4 5 )
tmp=("${foo[@]/3/bar}")
echo "${tmp[@]:1}"