Duplication possible:
Les expressions d'expansion de paramètre $ {var} peuvent-elles être imbriquées dans bash?
Est-il possible d'imbriquer l'expansion des paramètres du shell (${})
?
Si je veux faire quelque chose comme ça:
foo=( 1 2 3 4 5 )
echo ${${foo[@]/3/bar}:1}
Réponses:
6 pour la réponse № 1Autant que je sache, il n'est pas possible d'imbriquer une expansion de paramètre de shell. Je crains que vous deviez trouver un autre moyen de réaliser ce dont vous avez besoin. Si vous postez le code, nous pourrons peut-être vous aider.
11 pour la réponse № 2
Non, vous pouvez "t. (Vous pouvez en zsh, mais pas en bash, ksh ou autres shells.)
Vous devez utiliser une variable intermédiaire:
foo=( 1 2 3 4 5 )
tmp=("${foo[@]/3/bar}")
echo "${tmp[@]:1}"