JP1/Advanced Shell
スクリプト拡張コマンドの記述形式を次に示します。
△0コマンド名△1属性値[…△1属性値][△1-属性名△1属性値[…△1-属性名△1属性値]]
- スクリプト拡張コマンドのコマンド名は,必ず「#-adsh_」で開始します。
- コマンド名のあとに,「属性値」のリストと,「-属性名 属性値」のリストを連続して記載します。
- 「属性値」のリストは順序に意味があるため,省略できません。「-属性名 属性値」のリストは順不同であり,省略できます。
- スクリプト拡張コマンドと同一のコメントは記述できません。スクリプト拡張コマンドをコメントにする場合は,先頭にもう1つ「#」を書いてください。
- すべての記述でダブルクォーテーション「"」,シングルクォーテーション「'」,エスケープ文字「\」が使用できます。
ただし,スクリプト拡張コマンドではダブルクォーテーションで囲まれた文字列中の「\」は,直後の文字の種類に関係なくすべてエスケープ文字となります。ダブルクォーテーションで囲まれた文字列に「\」を指定したい場合は,\\と記述してください。
- コマンド名,属性名および属性値(予約語の場合)は,すべて大文字と小文字を区別します。
- 属性値には環境変数名が指定でき,スクリプト起動前に設定していた値で置換できます。環境変数名を記述する場合,{ }で囲む必要があります。環境変数名は「9.1.2(2) 文字セットの定義」で示す<環境変数名>の形式で,255バイト以内で記述します。
- スクリプト拡張コマンドは各行の先頭に記述してください。また,コマンド名の後ろから改行コードまでに必ずスペースを指定します。スペース以外が存在すると構文解析エラーになります。
- コマンド区切り記号を指定して,同一行の2番目以降にスクリプト拡張コマンドを記述できません。記述すると構文解析エラーになります。
- 関数内にスクリプト拡張コマンドを記述できません。記述すると構文解析エラーになります。
- for文,while文,until文のブロック内および関数定義内に,スクリプト拡張コマンドを記述できません。記述すると,実行前に文法エラーになります。
- 「.」で呼び出す外部スクリプトの中に,スクリプト拡張コマンドを記述できません。記述するとコメントとして扱われます。
スクリプト拡張コマンドを複数行に分けて記述する場合は,2行目以降を次の形式で記述します。
#-adsh△1継続指定内容
- コマンド名および属性の区切り文字の個所だけ,継続行指定ができます。コマンド名,属性名および属性値の途中で継続行指定はできません。
- 継続行で文法エラーがある場合,エラーメッセージに表示される行番号は,そのスクリプト拡張コマンドの先頭行の行番号となります。
- <この項の構成>
- (1) 制限事項
- (2) 文字セットの定義
(1) 制限事項
- 継続する行を含めて,スクリプト拡張コマンドの1行は8,191バイト以下にしてください。
- 属性値を複数指定する場合はスペースまたはコンマで区切ります。コンマの間の値は省略できません。
(2) 文字セットの定義
属性値として使用できる文字セットの定義を次の表に示します。
表9-1 属性値として使用できる文字セットの定義
構文要素 指定できる文字の内容 対象 <記号名称> {<英字>|<数字>|@|#|_(アンダースコア)}+ ジョブ名など <環境変数名> {<英字>|_(アンダースコア)}{<英字>|_(アンダースコア)|<数字>}* ファイル環境変数定義名など <パス名> OSのファイルパス名規則に従った文字列です。
「\」はメタキャラクタ(エスケープ文字)として扱うため,Windowsでは次のように記述してください。メタキャラクタについては,「5.1.5 メタキャラクタ」を参照してください。
指定例:'C:\test'またはC:\\testなどパス名 <任意文字列> 任意の文字による文字列です。
次の範囲での利用を推奨します。
{<英字>|<数字>|@|#|_(アンダースコア)}+環境変数値など
All Rights Reserved. Copyright (C) 2011, 2012, Hitachi, Ltd.