7.3.59 VAR_SHELL_GETLENGTHパラメーター(${#variable}書式で置換される変数値の長さの単位を定義する)
形式
VAR_SHELL_GETLENGTH {BYTE|CHARACTER}
機能
${#variable}書式で置換される変数値の長さの単位を定義します。
オペランド
- BYTE
${#variable}書式のvariableに格納されている値の長さをバイト数で置換します。
- CHARACTER
${#variable}書式のvariableに格納されている値の長さを文字数で置換します。
使用例
文字列「abcdef英字」が設定されている変数CVALの値の長さを求めるため,「echo ${#CVAL}」を実行した例を次に示します。
VAR_SHELL_GETLENGTHパラメーターにBYTE(バイト数で置換)を設定するか,VAR_SHELL_GETLENGTHパラメーターの指定を省略した場合
マルチバイト文字は実行環境によって長さが異なります。LinuxのUTF-8環境で実行した場合の例を次に示します。
CVAL=abcdef英字 echo ${#CVAL}
「abcdef英字」を12バイトと解釈し,「12」が標準出力に出力されます。
VAR_SHELL_GETLENGTHパラメーターにCHARACTER(文字数で置換)を設定した場合
CVAL=abcdef英字 echo ${#CVAL}
「abcdef英字」は8文字のため,「8」が標準出力に出力されます。