7 スクリプト
JShellスクリプトは、ファイル内にある一連のスニペットおよびJShellコマンド、1つのスニペットまたは行単位のコマンドです。
スクリプトはローカル・ファイルまたは次の事前定義済スクリプトのいずれかにできます。
スクリプト名 | スクリプトの内容 |
---|---|
DEFAULT |
共通で必要なインポート宣言が含まれています。このスクリプトは、他の起動スクリプトが提供されない場合に使用します。 |
PRINTING |
JShellメソッドを定義し、PrintStreamのprint、printlnおよびprintfメソッドにリダイレクトされます。 |
JAVASE |
|
トピック
起動スクリプト
起動スクリプトには、JShellセッションが起動されたときにロードされるスニペットおよびコマンドが含まれています。デフォルトの起動スクリプトには、共通のインポート文が含まれています。必要に応じて、カスタム・スクリプトを作成できます。
起動スクリプトは、jshell
ツールがリセットされるたびにロードされます。リセットは、初期起動時に/reset
、/reload
および/env
コマンドで発生します。スクリプトを設定しない場合、デフォルトの起動スクリプトのDEFAULT
が使用されます。このデフォルト・スクリプトでは、共通して必要となるインポート宣言を定義しています。
ノート:
Java言語では、java.langパッケージが自動的にインポートされることを定義しているため、このパッケージを明示的にインポートする必要はありません。起動スクリプトを設定するには、/set start
コマンドを使用します。
jshell> /set start mystartup.jsh
jshell> /reset
| Resetting state.
すべての/set
コマンドと同様に、-retain
オプションを使用しないかぎり、設定の期間は現在のセッションです。通常、起動スクリプトの設定をテストする場合には、-retain
オプションは使用しません。希望する設定が見つかった場合、-retain
オプションを使用して、これを保持します。
jshell> /set start -retain
次回jshell
ツールを起動する際に、この起動スクリプトがロードされます。
起動スクリプトは、状態がリセットされた場合にのみ、現在のセッションにロードされることに注意してください。スクリプトの内容は格納されますが、スクリプトへの参照は格納されません。スクリプトは、/set start
コマンドが実行されたときにのみ読み込まれます。ただし、事前定義済スクリプトは参照によってロードされ、更新できるのは新しいリリースのJDKからです。
起動スクリプトは、--startup
コマンドラインのフラグで指定することもできます。
% jshell --startup mystartup.jsh
試用の場合、System.out.
接頭辞を必要としないメソッドを出力する場合に役立ちます。事前定義済のPRINTING
スクリプトを使用して、print、printlnおよびprintfメソッドにアクセスします。/set start
を使用すると複数の起動スクリプトを指定できます。次の例は、デフォルトのインポートおよび出力の両方の定義をロードする起動スクリプトを設定しています。
jshell> /set start -retain DEFAULT PRINTING
jshell> /exit
| Goodbye
% jshell
| Welcome to JShell -- Version 9
| For an introduction type: /help intro
jshell> println("Hello World!")
Hello World!
-retain
フラグを使用して、jshell
ツールの今後のセッションの起動スクリプトとしてこれらの事前定義済スクリプトを設定します。引数を指定しないで/set start
を使用すると、これらの起動スクリプトで定義された内容の詳細が表示されます。
コマンドラインで複数の起動スクリプトを設定するには、各スクリプトの--startup
フラグを使用します。
% jshell --startup DEFAULT --startup PRINTING
スクリプトの作成およびロード
スクリプトを使用して、セッション時に使用可能なインポート文およびコードでJShellセッションを設定します。
スクリプトの作成
エディタでスクリプトを外部で作成するか、JShellで入力した項目から生成することもできます。次のコマンドのいずれかを使用して、JShellセッションのエントリからスクリプトを作成します。
jshell> /save mysnippets.jsh
jshell> /save -history myhistory.jsh
jshell> /save -start mystartup.jsh
例に示された最初のコマンドは、現在のアクティブなスニペットをmysnippets.jsh
に保存します。示されている2番目のコマンドは、すべてのスニペットおよびコマンドの履歴を有効なものも無効なものもmyhistory.jsh
に保存します。示されている最後のコマンドは、現在の起動スクリプト設定の内容をmystartup.jsh
に保存します。指定されたファイル名は、有効なファイル・パスおよび名前にします。
スクリプトのロード
JShellセッションが起動されると、スクリプトはコマンドラインからロードできます。
% jshell mysnippets.jsh
/open
コマンドを使用すると、JShellセッション内でスクリプトをロードすることもできます。
jshell> /open PRINTING