JP1/Advanced Shell
ジョブ定義スクリプトに記載したパス名を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環境の区切り文字を読めるようにするため,「\\」と「;」を定義します。
パス名を変換するためのパラメーターを次に示します。
- PATH_CONV_ENABLEパラメーター:パスを変換する機能を有効にします。
Windows環境で「/」と「:」を定義します。UNIX環境で「\\」と「;」を定義します。
PATH_CONV_ENABLEパラメーターでは,変換前のパス区切り文字およびディレクトリ区切り文字を指定します。
- PATH_CONVパラメーター:絶対パスのパス名を変換する規則を定義します。
ジョブ定義スクリプトを実行するときに先頭のパス名1をパス名2に置換します。
パス名が変換される可能性があるのは,ジョブ定義スクリプトのダブルクォーテーションで囲まれた範囲だけです。規則に合致した文字列を含んだ,ダブルクォーテーションで囲まれた文字列の中に,パス区切り文字およびディレクトリ区切り文字が含まれる場合,それらについても変換されます。
環境ファイルの情報に従って実行前のジョブ定義スクリプトが実行後にどのように変換されるかを次に示します。
- <この項の構成>
- (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) 注意事項
- この定義を使用してパス名をWindows用に変換すると,パス名中のディレクトリ区切り文字が「\」となります。そのため,パス名を無条件にechoコマンドで表示しているジョブ定義スクリプトでは,「\」およびそれに続く文字がエスケープ文字に置き換わります。エスケープ文字に置き換えない場合は,echoコマンドに-Eオプションを指定して実行します。詳細については,「9.3 シェル標準コマンド」の「echoコマンド(引数で指定した内容を標準出力に出力する)」を参照してください。
- メタキャラクタの「~」,「~+」および「~-」は,クォーテーションで囲んだり,クォーテーションで囲まれた文字列やエスケープ文字(\)の直前に記述されたりすると,置換されません。メタキャラクタについては,「5.1.5 メタキャラクタ」を参照し,対応するシェル変数を使用してください。
All Rights Reserved. Copyright (C) 2011, 2012, Hitachi, Ltd.