クイックコマンドとスニペット
クイックコマンドは、Terminalのオーバーフローメニューから開けます。保存済みのスニペットを現在のペインへ挿入し、そのまま実行するか、クリップボードへコピーできます。変数の無いスニペットは、中身を表示したまま[ペインに挿入]で挿入できます。実行は、変数の有無にかかわらず[実行内容を確認]のあとに行います。

スニペットを作る
[Menu]→[Snippets]では、名前、コマンド、変数を保存できます。シークレット変数は通常の変数と分けて扱われ、スニペットライブラリそのものもVaultのマスターキーで暗号化されています。
実行前に確認する
実行前には、展開後のコマンドと送信先が表示されます。SSHペインでは、接続先のエイリアスも確認できます。値が設定されていない変数がある場合は、実行前に入力欄が表示されます。確認後にセッションのプロセスが入れ替わった場合は何も送信せず、もう一度確認を求めます。
接続時に自動実行する
[Menu]→[Snippets]の「接続時の自動実行」で、接続先ごとに1つのスニペットを割り当てられます。初回接続と自動再接続のどちらでも、認証とリモートシェルの起動が完了してからコマンドとEnterを送ります。認証プロンプトへ送ることはありません。
出力を待ってから送る
スニペットの[種類]で[手順]を選ぶと、シェルの出力を待ってから打ち込む手順を並べられます。sudoのパスワードや、ネットワーク機器のenableのように、問いが出てから次を送る接続先で使います。手順のスニペットは、接続時の自動実行でだけ使えます。複数の接続先での実行と、ターミナルへの送信には出ません。
| 欄 | 内容 |
|---|---|
| [待つ文字列] | シェルの出力にこの文字列が出るまで待ちます。空なら待たずに送ります。色などの制御の文字を外して照らし、正規表現は使いません |
| [送る文字列] | 打ち込む文字列です。変数(シークレット変数も)を使えます |
| [Enterを押す] | 送る文字列のあとにEnterを押します |
| [省略可] | 待つ文字列が出ないときは、この手順を飛ばして次へ進みます |
- 待つのは、認証が済んだあとのシェルの出力だけです。sshcが出す認証の問いや
[sshc]の行には答えません。 - 手順を1つ送ると、それより前の出力では次の手順を照らしません。
- [待つ時間の上限](既定10秒、最大300秒)のうちに待つ文字列が出なければ、そこで止めて、ターミナルに
[sshc]の1行で知らせます。[省略可]の手順は飛ばして次へ進みます。 - 自動再接続のたびに、はじめからやり直します。
変数と割り当て
変数の値は割り当てと一緒に暗号化して保存します。シークレット変数も同じ扱いで、接続のたびに実値が入力されるため、リモートシェルの履歴、TTYのエコー、スクロールバックに残ることがあります。
割り当ては、そのときの接続先と認証の設定(ホスト名、ユーザー、ポート、踏み台、ProxyCommand、ForwardAgent、接続に付けたVPNプロファイルなど)に結び付けます。割り当てた後でこれらが変わると、シークレットを別のマシンへ送らないよう、そのホストには送りません。送らなかったことはターミナルに表示され、[Snippets]画面の「接続時の自動実行」には停止中の割り当てのホストが表示されます。接続先を確認してから、もう一度割り当ててください。
VPNプロファイルについては、次の場合に停止中になります。同じアドレスでも、VPNが違えば別のネットワークのマシンの場合があるためです。
- 接続にVPNプロファイルを付ける、外す、別のプロファイルに変える
- 接続に付けていたVPNプロファイルを削除する。同じ名前で作り直して付け直しても、割り当て直すまで送りません。削除の前に接続から外していた場合も同じです
VPNプロファイルの名前を変更した場合と、プロファイルを編集した場合は、割り当てはそのまま使えます。
接続先の記録を持たない以前のバージョンの割り当ても、同じく停止中になります。[Connections]で保存済みパスワードやワンタイムパスワードを新しいルートで使うように保存しても、起動スニペットの割り当ては結び直しません。
複数の接続先へ実行する
[Snippets]画面からは、複数の接続先を選んで同じスニペットを非対話のSSH実行として送れます。展開後のコマンドと実際の接続先を確認してから開始し、結果は接続先ごとに表示します。1回の実行で選べる接続先は最大64で、同時に実行する数は4です。この実行はターミナルのシェルとは別の接続で行われ、開いているペインの作業フォルダやシェルの状態は引き継ぎません。
ワークスペースへ一括送信
サイドバーのワークスペースの[…]→[コマンドを一括送信…]で、そのワークスペースの接続中のセッションへ、その場で入力したコマンドまたはスニペットを送れます。送信先と内容を確認してから、各セッションへコマンドを入力し、Enterキーを送ります。SSHとローカルシェルのどちらも対象にできます。接続中でないセッションには送りません。
シークレット
シークレット変数は、通常のプレビューでは[secret]と表示されます。送信を確定すると、展開した実値がペインへ入力されます。リモートシェルの履歴、TTYのエコー、スクロールバックに残る可能性があるため、送信先とコマンドを確認してから実行してください。