Hitachi

JP1 Version 11 JP1/Advanced Shell 


2.6.2 パス名を変換する

ジョブ定義スクリプトに記載したパス名をWindowsとUNIXの両方で使用できるよう,パスの変換内容をパラメーターで定義します。

JP1/Advanced Shellでは,プラットフォームに対応してジョブ定義スクリプトに次のようにパスを記載できます。

表2‒18 Windows環境とUNIX環境で使用できるパスの規則

項目

Windows環境

UNIX環境

ディレクトリ区切り文字

\\ ※1

/

パス区切り文字

;

:

パス名の大文字と小文字

区別する ※2

区別する

絶対パス

パス名の先頭文字は,「ドライブレター:\\※1,※3

パス名の先頭文字は,「/」

注※1

Windows環境では,\はエスケープ文字と見なされるため,\\と記載します。またはパス名全体をシングルクォーテーションで囲みます。

注※2

パス名の変換では,Windows環境でも大文字と小文字を区別します。

注※3

UNC形式の名称も指定できます。ただし,ジョブ定義スクリプトでパス名の変換を定義する場合,変換結果のパスの末尾が共有名(後ろに「\」を指定した場合も含む)にならないよう定義してください。パス名の末尾が共有名の場合,動作は保証されません。

上記の規則によって,パスを変換するにはパラメーターに次の定義が必要です。

パス名を変換するためのパラメーターを次に示します。

〈この項の構成〉

(1) ファイルパスの変換例(パス変換ルール1の場合)

環境ファイルの情報に従って,実行前のジョブ定義スクリプトが実行後にどのように変換されるかを次に示します。

  1. PATH_CONVパラメーターの定義に従い,パスが「/home/hitachi/bin」から「C:\\Program Files」へ変換されています。

    また,PATH_CONV_ENABLEパラメーターの定義に従い,ディレクトリ区切り文字が「/」から「\\」へ変換されています。

  2. PATH_CONVパラメーターの定義に従い,パスが「/tmp」から「C:\\temp」へ変換されています。

    また,PATH_CONV_ENABLEパラメーターの定義に従い,ディレクトリ区切り文字が「/」から「\\」へ変換されています。

(2) ファイルパスの変換例(パス変換ルール2の場合)

環境ファイルの情報に従って,実行前のジョブ定義スクリプトが実行後にどのように変換されるかを次に示します。

  1. 変換前のジョブ定義スクリプトにパス名を扱うシェル変数DIR01を定義しているため,変換結果ではシェル変数DIR01が「"(ダブルクォーテーション)」で囲まれ,その後ろにディレクトリ区切り文字が付加されます。

  2. 文字列の先頭部分が変換規則と一致するため「"(ダブルクォーテーション)」で囲まれます。また,パス区切り文字が「";"」に変換されます。さらに,文字列がパスとして変換されたので,変数名PATHもダブルクォーテーションで囲まれます。

  3. 演算式がパス変換規則に一致したため変換されています。変換されないようにするには,ジョブ定義スクリプトを次のどちらかの方法で修正する必要があります。

    • 「let ANS='BB/AA'」のようにシングルクォーテーションで囲む。

    • 「let ANS=$BB/$AA」のように参照する変数名の先頭に$を付加する。

(3) 注意事項