2.6.2 パス名を変換する

ジョブ定義スクリプトに記載したパス名をWindowsとUNIXの両方で使用できるように変換するパラメーターを定義します。JP1/Advanced Shellでは,プラットフォームに対応してジョブ定義スクリプトに次のようにパスを記載できます。

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

項目Windows環境UNIX環境
ディレクトリ区切り文字¥¥ ※1または//
パス区切り文字;:
パス名の大文字と小文字区別する ※2区別する
絶対パスパス名の先頭文字は,「ドライブレター:¥¥」 ※1,※3パス名の先頭文字は,「/」
注※1
Windows環境では,¥はエスケープ文字と見なされるため,¥¥と記載します。
注※2
パス名の変換では,Windows環境でも大文字と小文字を区別します。
注※3
UNC名(例 ¥¥マシン名¥)は,サポートしていません。

上記の規則によって,Windows環境でジョブ定義スクリプトを実行させたい場合は,UNIX環境の区切り文字を読めるようにするため,「/」と「:」を定義します。UNIX環境でジョブ定義スクリプトを実行させたい場合は,Windows環境の区切り文字を読めるようにするため,「¥¥」と「;」を定義します。

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

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

<この項の構成>
(1) 環境ファイルの情報
(2) 実行前のジョブ定義スクリプト
(3) 実行後のジョブ定義スクリプト
(4) 注意事項

(1) 環境ファイルの情報

Windowsの場合の環境ファイルの例を次に示します。

#-adsh_conf PATH_CONV_ENABLE / :
#-adsh_conf PATH_CONV /home/hitachi/bin "C:¥¥Program Files"
#-adsh_conf PATH_CONV /tmp "C:¥¥temp"

(2) 実行前のジョブ定義スクリプト

実行前のジョブ定義スクリプトの例です。

#-adsh_path_var DIR,DIR2
"/home/hitachi/bin/myprog1" "/tmp/file"

DIR="/home/hitachi/bin"
"$DIR/myprog1" "/tmp/file"
DIR2=$DIR
"$DIR2/myprog2" "/tmp/file"

(3) 実行後のジョブ定義スクリプト

パスを変換すると次のようになります。

"C:¥¥Program Files¥¥myprog1" "C:¥¥temp¥¥file"

DIR="C:¥¥Program Files"
"$DIR¥¥myprog1" "C:¥¥temp¥¥file"
DIR2=$DIR
"$DIR2¥¥myprog2" "C:¥¥temp¥¥file"

(4) 注意事項