Hitachi

JP1 Version 11 JP1/Advanced Shell 


9.4.11 adshvarconvコマンド(変数の値を変換する)

形式

adshvarconv [-o] -p シェル変数名 [シェル変数名 ・・・]
adshvarconv [-o] [-c] -b 変換前文字列 [-a 変換後文字列]
                         シェル変数名 [シェル変数名 ・・・]
adshvarconv [-o] -i \の増加数 シェル変数名 [シェル変数名 ・・・]

【Windows限定】
adshvarconv [-o] [-u] -e 変換前エンコーディング 変換後エンコーディング
                         シェル変数名 [シェル変数名 ・・・]

機能

オプションに従って変数の値を変換します。

オプション

機能

-p

パス変換ルールに従ってシェル変数値を変換します。

-b,-a,-c

シェル変数値の変換前文字列変換後文字列に変換します。

-i

シェル変数値の\を指定個数分増加します。

-e,-u

シェル変数値のコード変換を行います。【Windows限定】

-oオプションについて次に示します。

-oオプション

出力先

無し

元のシェル変数値を変換後の値で更新します。

元のシェル変数値は変更せずに,変換後の値を標準出力に出力します。

引数

-p

パス変換ルール(PATH_CONV_ENABLE,PATH_CONV 環境設定パラメーター)に従って,シェル変数の値を変換します。adshvarconvコマンド実行時に変換します。このため,コマンド実行後に変数の値を変更した場合,その値は自動的に変換されません。この変更後の値がパス変換ルールに一致する値であっても,自動的に変換しません。

パス変換の動作は,変換ルールとは異なります。パス変換の動作を次に示します。

パス変換動作

PATH_CONV_ENABLEで指定したパス区切り文字で区切られた,それぞれのパスを環境設定パラメーターPATH_CONVで変換する。

注 環境設定パラメーターではWindowsのディレクトリ区切り記号は\\と記述しますが,このコマンドの変換では\2個を\1個に自動的に変更して変換します。

PATH_CONV環境設定パラメーターで変換した場合,パス区切り文字,ディレクトリ区切り文字を該当OSの区切り文字に変換します。

注 通常のパス変換機能ではWindowsのディレクトリ区切り記号は\\に変換しますが,このコマンドの変換では\1個に変換します。

パス変換機能が無効のとき,このコマンドは何もしません。

-b 変換前文字列 [-a 変換後文字列]

シェル変数値の変換前文字列変換後文字列に変換します。-aを指定しない場合は,変換前文字列を削除します。

変換前文字列~<任意文字列>((1から256バイト))

変換後文字列~<任意文字列>((1から256バイト))

-c

パス変換機能が有効の場合だけ変換します。パス変換機能が無効のときは,このコマンドは何もしません。-c指定がないときは,無条件に変換します。

-i \の増加数

シェル変数値の\をそれぞれの文字に対して,指定個数分増加します。-i 1と指定した場合,変換前の文字列がabc\def\\ghi\\\jklであれば,変換後はabc\\def\\\\ghi\\\\\\jklです。

\の増加数~<3桁の十進数>((1~256))

-e 変換前エンコーディング 変換後エンコーディング【Windows限定】

シェル変数の値をコード変換します。

  • 変換前エンコーディング~{SJIS | UTF8}

    SJIS:エンコーディングがShift-JISであることを示します。

    UTF8:エンコーディングがUTF-8であることを示します。

  • 変換後エンコーディング~{SJIS | UTF8}

    SJIS:エンコーディングがShift-JISであることを示します。

    UTF8:エンコーディングがUTF-8であることを示します。

変換前エンコーディングと変換後エンコーディングの組み合わせの妥当性チェックはしません。

-u

コード変換時に変換できないコードがあった場合,エラー終了します。

-uオプションを指定しない場合,変換できない文字を「?」に変換して処理を続行します。

-o

変換後の値を標準出力に出力します。シェル変数値は更新しません。

-oオプションを指定する場合,複数のシェル変数名を指定できません。配列で複数要素を指定することもできません。

-eオプション以外の場合,変換をしない場合でも-oオプションがあるときは,変換前の変数の値を標準出力に出力します。

-eオプションでは変換できなかったときは-oオプションがあっても標準出力には結果を出力しません。

シェル変数名 ~<シェル変数名>((1から256))

値を変更するシェル変数を指定します。長さの上限は,配列の場合,引数指定を含んだ文字列の長さの上限です。

配列を指定する場合は次の形式で指定します。

配列の要素番号は0から65,535まで指定できます。

配列の指定方法

説明

array[n]

n番目の要素

array[@]

全要素

array[*]

全要素

array[]

array[0]と同一

array[n][m]

n行m列の要素

array[n][@]

n行目のすべての要素

array[n][*]

n行目のすべての要素

array[n][]

array[n][0]と同一

array[@][m]

m列のすべての要素

array[@][@]

すべての要素

array[@][*]

すべての要素

array[@][]

すべての要素

array[*][m]

m列のすべての要素

array[*][@]

すべての要素

array[*][*]

すべての要素

array[*][]

すべての要素

array[][m]

array[0][m]と同一

array[][@]

すべての要素

array[][*]

すべての要素

array[][]

array[0][0]と同一

終了コード

終了コード

意味

0

正常終了

1

  • -eで変換できない文字がありました。(-uを指定した場合)

  • 変数が読み込み専用属性です。

  • 変数が整数型属性です。

  • 変数名が妥当ではありません。

  • 変数名の指定がありません。

  • -aがあるときに-bがありません。

  • 変換前文字列,変換後文字列の文字列長が正しくありません。

  • 値が必要なオプションに値の指定がありません。

  • オプションの組み合わせが誤っています。

  • -oオプション指定時に複数の変数を指定しています。

  • -oオプション指定時に配列要素に*または@を指定しています。

  • -eでエンコーディングの指定が不当です。

  • 不当なオプションを指定しています。

  • 必要なオプションが指定されていません。

  • 予期しないエラーが発生しました。

注意事項

使用例