Bourne 系シェルで利用可能なパラメータ展開の纏め
IEEE 1003.1 (2004)、ksh-93 20080725、bash 3.2.39、yash 2.4、zsh 4.3.4 で調査。
- | POSIX | ksh | bash | yash | zsh |
---|---|---|---|---|---|
${var} | Y | Y | Y | Y | Y |
${var-word} | Y | Y | Y | Y | Y |
${var:-word} | Y | Y | Y | Y | Y |
${var+word} | Y | Y | Y | Y | Y |
${var:+word} | Y | Y | Y | Y | Y |
${var?word} | Y | Y | Y | Y | Y |
${var:?word} | Y | Y | Y | Y | Y |
${var=word} | Y | Y | Y | Y | Y |
${var:=word} | Y | Y | Y | Y | Y |
${var::=word} | - | - | - | - | Y |
${var#word} | Y | Y | Y | Y | Y |
${var##word} | Y | Y | Y | Y | Y |
${var:#word} | - | Y | - | - | Y |
${var%word} | Y | Y | Y | Y | Y |
${var%%word} | Y | Y | Y | Y | Y |
${var/word/word} | - | Y | Y | Y | Y |
${var/word} | - | Y | Y | Y | Y |
${var/#word/word} | - | Y | Y | Y | Y |
${var/%word/word} | - | Y | Y | Y | Y |
${var//word/word} | - | Y | Y | Y | Y |
${var:/word/word} | - | - | - | Y | Y |
${var:number:number} | - | Y | Y | - | - |
${array[number]} | - | Y | Y | Y | Y |
${array[number,number]} | - | - | - | Y | Y |
${var[number]} | - | - | - | Y | Y |
${var[number,number]} | - | - | - | Y | Y |
${${var}} | - | - | - | Y | Y |
${$(command)} | - | - | - | Y | Y |
${#var} | Y | Y | Y | Y | Y |
${@var} | - | Y | - | - | - |
${!var} | - | Y | - | - | - |
${!var} | - | - | Y | - | - |
${!name*} | - | Y | Y | - | - |
${^array} | - | - | - | - | Y |
${=var} | - | - | - | - | Y |
${~var} | - | - | - | - | Y |
配列のインデックスは、ksh・bash では 0 から、yash・zsh では 1 から数える。
| 固定リンク
コメント