これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド rlwrap です。
プログラム:
NAME
rlwrap - readline ラッパー
SYNOPSIS
rlラップ [rlwrapオプション] command ...
DESCRIPTION
rlラップ 指定されたものを実行します command、提供するためにユーザー入力を傍受します。 読み込まれた行's
行の編集、永続的な履歴と完了。
rlラップ 完全に透明であるように努めます - あなた (またはあなたのシェル) は何も気付かないはずです
違い command rlラップ command - 追加された readline 機能を除き、
もちろん。 これは、リダイレクト、パイプ、送信する場合にも当てはまります。
からの信号とからの信号 command、またはいつ command 端末の設定を操作します。
(プログラム可能な) 補完の追加、複数行入力の処理、色付けなどのオプションが多数あります。
そしてプロンプトを書き直します。 それらが必要ない場合は (おそらく必要ないでしょう)、次の手順はスキップできます。
このマンページの残りの部分。
OPTIONS
-a、 --always-readline [パスワード_プロンプト]
関係なく、常に「readline モード」のままにしてください。 commandの端末設定。 使用
使用したい場合はこのオプションを使用します rlラップ commandすでに readline を使用しているもの。 NB:
このオプションを使用すると、rlwrap はパスワードをエコー (および保存) します。 command's
パスワードプロンプトを引数として指定します。 引数はオプションです。 与えられた場合は、そうする必要があります
スペースを挟まずにオプションを直接続けます。
Linux マシンでは、次のコマンドを使用できます。 -N (--子供はいません) を防ぐためのオプション
から呼び出されるページャーとエディターのラッピング command; これでさらに良くなるはずです
使用可能な
必要な多くのコマンド --always-readline も必要かもしれません -t ダム ターミナルを防ぐために
混乱を招く制御シーケンス rlラップ (これは迷惑になりますが、
前述のポケットベルとエディター)
-NS、 --ansi-color-aware
色を使用するプロンプトは、特に長い入力の最後で rlwrap を混乱させます。
線。 このオプションを使用すると、そのような場合に rlwrap がより適切に動作するようになります。 プロンプトが表示された場合
ANSI カラーコードよりも複雑なものが含まれているため、このオプションにより実際に
さらに悪いことに。
-NS、 --break-chars キャラクターのリスト
指定された文字を単語区切りとみなされます (空白は常に
言葉の区切り)。 これにより、完了するときと完了するときの両方で、何が「単語」とみなされるかが決まります。
で指定されたファイルから補完単語リストを構築するとき -f オプション
それに続きます(前にではありません!)。 デフォルトのリスト (){}[],'+-=&^%$#@"";|\ -c が指定されていない限り
指定された、/ および 。 (ピリオド) はデフォルトのリストに含まれています。
-NS、 --完全なファイル名
完全なファイル名 (-i を使用した場合でも、ファイル名の補完では常に大文字と小文字が区別されます)
オプション) これを実行すると、rlwrap は次の情報を追跡します。 commands 作業ディレクトリ。
-C、 --コマンド名 コマンド名|N
コマンド名 command 歴史の名前を決定し、
完了ファイル、および readline の初期化 (で指定されているように) 〜/ .inputrc)。 ザ·
数値引数 N > 0 は、末尾から逆に数えて N 番目の引数を使用することを意味します。
引数リストの
-NS、 --歴史-騙されない n
入力履歴から重複エントリをいかに積極的に取り除くか。 もしも n = 0,
すべての入力は履歴リストに保持されます。 n = 1 (これがデフォルトです) 連続
重複したものはリストから削除されますが、 n = 2 ようになります rlラップ 全てを落とす
リストからの現在の入力の前の出現。
-e、 --完了後の追加文字 チャリオット
デフォルトでは、rlwrap は挿入された補完テキストの後にスペースを追加します。 これを使って
これを '' (何も挿入しない) または他の文字に変更するオプションを使用します。
-NS、 - ファイル file
スプリット file を単語に変換し、補完単語リストに追加します。 このオプションは次のとおりです
複数回与えられ、 「追加した」 $RLWRAP_HOME のデフォルトの完了リスト、または
/usr/share/rlwrap/completions。
-NS、 -- マッチングを忘れる 正規表現
POSIX 1003.2 に一致するすべての入力行を忘れます (つまり、履歴リストから削除します)。
正規表現 正規表現。 一致では常に大文字と小文字が区別されません。 正規表現 かもしれません
普通の文字列。 正規表現の詳細については、次を参照してください。 正規表現 (7)
-NS、 - 助けて
短いヘルプ メッセージを印刷します。
-NS、 --履歴ファイル名 file
コマンド履歴を読み取る file (--histsize >= 0 の場合はそこに書き戻します)
-私、 - 大文字小文字を区別しません
完了時に大文字と小文字を無視します (ファイル名の完了では大文字と小文字が区別されます)。 これ
オプションは -f オプションの前に指定する必要があります。
-私、 --pass-signint-as-sigterm
TERM シグナルを送信する command INT を受信したとき (CTRL-C を押したときなど)。
-l、 --ログファイル file
readline モードの場合は、追加します commandの出力 (エコーされたユーザー入力を含む) を
file (作成 file 存在しない場合)。
-NS、 -警告なし
警告を出力しないでください。
-NS、 --子供はいません
(Linux のみ) rlwrap しないでください commandの子供たち: いつでも rlラップ それに気づきます command
が子の XNUMX つを待っていると、ダイレクト モードに切り替わり、すべての子を渡します。
すぐにキーを押します。 このオプションを使用すると、 --always-readline を必要とするコマンドを実行できます。
エディターやポケットベルを呼び出しても引き続き使用できます。
-NS、 --複数行 [改行_置換]
「改行置換」文字シーケンス (「 \ 」、
デフォルトでは [スペース-バックスラッシュ-スペース])。 改行置換は改行に変換されます
入力を送信する前に command。 このオプションを使用すると、外部の
エディター $RLWRAP_EDITOR を使用して (展開された) 現在の入力に rlwrap_call_editor
キー (デフォルトでは CTRL-^) 引数はオプションです。 与えられた場合は、直接指定する必要があります
スペースを挟まずにオプションの後に続けます。
-NS、 --複数行内線 拡張子
ファイル名拡張子が付いた一時ファイルに対して複数行エディタを呼び出す 拡張子 (役に立つ
例: 自動構文カラーリング)
-o、 --ワンショット
EOF を送信する command 入力の最初の行を受け入れた後
-O、 --料理のみ 正規表現
一致する「クック」プロンプトのみ 正規表現
-NS、 --プロンプトカラー [色名|色名|色の仕様]
いずれかの色の名前を使用してください 黒、 赤、 緑、 黄、 青、 シアン、 紫
(=マゼンタ) or 白、または ANSI 準拠プロンプトに色を付けるには
によって表示される command。 大文字の色名 (イエロー or 黄 ) 太字になります
促す。 すでに (色の) エスケープ シーケンスまたは次のいずれかを含むプロンプト
readline「マーカーを無視」(ASCII 0x01 および 0x02) は色付けされません。 このオプション
--ansi-colour-aware を意味します。 カラー スペック 形を持っています; [; ] 例:
-p'1;31' は、現在の背景に太字の赤色のプロンプトを表示します (これがデフォルトです)
引数が指定されていない場合)。 色の詳細については、Google で「ANSI カラー」を検索してください
コード。 引数はオプションです。 指定する場合は、オプションの直後に続ける必要があります
間にスペースなしで。
-NS、 --事前に与えられた 클라우드 기반 AI/ML및 고성능 컴퓨팅을 통한 디지털 트윈의 기초 – Edward Hsu, Rescale CPO 많은 엔지니어링 중심 기업에게 클라우드는 R&D디지털 전환의 첫 단계일 뿐입니다. 클라우드 자원을 활용해 엔지니어링 팀의 제약을 해결하는 단계를 넘어, 시뮬레이션 운영을 통합하고 최적화하며, 궁극적으로는 모델 기반의 협업과 의사 결정을 지원하여 신제품을 결정할 때 데이터 기반 엔지니어링을 적용하고자 합니다. Rescale은 이러한 혁신을 돕기 위해 컴퓨팅 추천 엔진, 통합 데이터 패브릭, 메타데이터 관리 등을 개발하고 있습니다. 이번 자리를 빌려 비즈니스 경쟁력 제고를 위한 디지털 트윈 및 디지털 스레드 전략 개발 방법에 대한 인사이트를 나누고자 합니다.
お気軽にご連絡ください rlラップ 클라우드 기반 AI/ML및 고성능 컴퓨팅을 통한 디지털 트윈의 기초 – Edward Hsu, Rescale CPO 많은 엔지니어링 중심 기업에게 클라우드는 R&D디지털 전환의 첫 단계일 뿐입니다. 클라우드 자원을 활용해 엔지니어링 팀의 제약을 해결하는 단계를 넘어, 시뮬레이션 운영을 통합하고 최적화하며, 궁극적으로는 모델 기반의 협업과 의사 결정을 지원하여 신제품을 결정할 때 데이터 기반 엔지니어링을 적용하고자 합니다. Rescale은 이러한 혁신을 돕기 위해 컴퓨팅 추천 엔진, 통합 데이터 패브릭, 메타데이터 관리 등을 개발하고 있습니다. 이번 자리를 빌려 비즈니스 경쟁력 제고를 위한 디지털 트윈 및 디지털 스레드 전략 개발 방법에 대한 인사이트를 나누고자 합니다. 編集バッファ内に (これにより、
--always-readline オプション)。
-NS、 --引用文字 キャラクターのリスト
指定された文字が、括弧と一致する場合などに引用符として機能すると仮定します。
シェルに合わせてリストを適切にエスケープするように注意してください (例: -q "\"'"、これは
たまたまデフォルトです、または -q "\"" これは Lisp ユーザーにとっては良いでしょう)
-NS、 - 覚えて
in- および出力に表示されるすべての単語を補完リストに入れます。
-NS、 -- レニス
メーカー rlラップ よりすてき command (cf nice (1))。 これにより防止される可能性があります rlラップ from
割り込む command 次の場合にプロンプトを表示するには command まだ「考え中」です
次に何を出力するか。
-s、 --histsize N
履歴リストを N エントリに制限し、履歴ファイルを切り捨てます (デフォルト: 300)。 あ
負のサイズ -N は N と同じ意味ですが、履歴ファイルを読み取り専用として扱います。
-NS、 -- 代替プロンプト プロンプト
指定されたプロンプトを次のように置き換えます。 command独自のプロンプト。 主にこんな時に便利です
command プロンプトがありません。
-NS、 --set-term-name 名
作成セッションプロセスで commandのタームから 名。 混乱を招くプログラム rlラップ 派手な画面制御付き
コードは、次のように指定することで飼い慣らすことができる場合があります。 -t ダム
-v、 - バージョン
rlwrap のバージョンを出力します。
-w、 -- プロンプトの前に待機 タイムアウト
かどうかを判断するには commandの最後の出力はプロンプトです。 rlラップ 待つ タイムアウト
受信してからミリ秒。 それ以上の出力が到着しない場合にのみ、クックされます。
(色付け、フィルタリング、および/または代替プロンプトによる置換) として表示されます。
促す。 これより前は、プロンプトは「未処理」で表示されます。 ほとんどのユーザーは気付かないでしょうが、
ただし、重いクッカーではタイムアウトの前にマイナス記号を付けて、rlwrap を保留にすることができます。
クックされるまでプロンプトを戻します (「患者モード」)。 これにより防止されます
プロンプトが点滅しますが、長い出力行も妨げられ、
ダイレクトモードからリードラインモードへの切り替えは信頼性が低くなります。 デフォルトのタイムアウト: 40 ミリ秒
-W、 --ポーリング
実験的: 毎回起きます タイムアウト ミリ秒、ここで タイムアウト と同じです
-w (--wait-before-prompt) オプション、デフォルトでは 40 ミリ秒。 これは、
スレーブの割り込み文字と ISIG フラグ、および stdin の端末設定を調整するため
したがって、キーを押す前であっても同様です。 CTRL-C が機能する場合などにこのオプションを試してください
別に command rlwrap を使用する場合と使用しない場合。
-z、 - フィルター filter
フィルターを使用して変更する rlラップの行動。 フィルタを使用すると、確実な情報を維持できます。
履歴からの入力、プロンプトの変更、単純なマクロの実装、または
プログラム可能な完了.. rlラップ スペシャルが付属しています パール モジュール (cf.
Rlwrapフィルター(午後3時)) フィルターを簡単に作成できます。 フィルタの例は次のとおりです。
/usr/share/rlwrap/filters ディレクトリにインストールされます。 "rlwrap -z filter 」と表示されます
フィルタに関する情報。「rlwrap -z listing」は、現在インストールされているすべてのフィルタをリストします。
フィルター。 もしも filter 引数が必要な場合は、フィルター コマンド全体を引用する必要があります。
ライン:
rlwrap -z 'フィルター引数' コマンド
このコマンドラインにシェルのメタ文字が含まれている場合、 rlラップ それをシステムに渡します
解析用のシェル。
例
ラン nc (netcat) コマンドライン編集と履歴付き
rlラップ nc
ラップ smbclient (readline 自体を使用します)、パスワードを履歴に残さないようにします。
smbclient から起動されたコマンドをラップします (例: よ)
rlラップ -aパスワード: -N smbclient //ピーナッツ/C
ラップ ゴーシュ (Scheme インタープリター) 太字の青色のプロンプトが表示され、複数行の編集が可能になります
(ファイル名拡張子として .scm を使用)、一重引用符を引用符として考慮しません (そのため、
例 (print 'q) の括弧は一致します)
rlラップ -pブルー -m -M .scm -q'''' まあ
現在インストールされているすべてのフィルターのリストを取得する
rlラップ -z リスト
フィルターのヘルプを表示する ピペト
rlラップ -z ピペト
ラップ sqlite3には、Live モジュールで提供された ピペト SQL コマンドの出力をパイプできるようにするフィルター
grep および less、「sql_words」内の SQL キーワードを (大文字と小文字を区別せずに) 完成させます。
rlラップ -a -z ピペト -i -f sql_words sqlite3 contact.db
シェルスクリプトでは、次のように使用します。 rlラップ の代わりに「ワンショット」モードで read
order=$(rlwrap -pイエロー -S 'あなたの ピザ? ' -H 過去の注文 -P デイジー -o 猫)
直接 モード そして 読み込まれた行 モード
ほとんどの単純なコンソール コマンドは、端末を「クック」モードまたは「生」モードにします。 の
Cooked モードでは、端末は ENTER キーを押すまで待機してから、全体を処理します。
raw モードでは、押したすべてのキーがすぐに反映されます。 調理済み
モードでは、通常、入力を編集するためにバックスペース キーを使用できますが、矢印キーは使用できません。
ほとんどの単純なコンソール コマンドは、入力行全体が必要な場合は常にクック モードを使用します。
単一のキーを押す必要がある場合は、このモードを使用します。 より高度なコマンドは raw モードを使用する傾向があります
いつも; 場合によっては、 -a (と -N)オプション。
ときにあなたを rlラップ command, rlラップ 独自のセッションで別のセッションで実行します。
「pseudo-terminal」(pty)。この pty を監視して、pty が raw モードであるか、
調理モード。 最初のケースでは、 rlラップ すべての入力と出力を直接コピーします。
command および端末(「ダイレクトモード」)。 XNUMX 番目のケースでは、 rlラップ readlineを使用して、
入力を編集し (「readline モード」)、監視します commandの出力 - すべての最後の行
改行で終わっていない場合は、プロンプトの可能性があります。 このような候補プロンプトをどのように処理するか
「患者」モードか「短気」モードかによって異なります。
患者 そして せっかち モード
If command 大量の出力を書き込むと、「チャンク」で書き込まれる (および読み取られる) 傾向があります。 すべてではない
チャンクは改行で終わるため、最後の行と実際の行を区別する必要があります。
プロンプト、特にプロンプトを書き直す (「クック」) 場合。 rlラップ これは(ほぼ)解決します
少し待って、さらに来るかどうかを確認してください。 「少し」はデフォルトでは40msecですが、
しかし、これは次のように変更できます -w オプション。 通常は rlラップ 疑わしいプロンプトを書き込みます
受け取ったらすぐに、待ち時間の後に「調理済み」バージョンに置き換えます。 これ
は「せっかち」モードと呼ばれます。 点滅効果が気に入らない場合 (
プロンプトを頻繁に「クック」すると迷惑になります)を置くことができます rlラップ 「患者モード」で
負の値を指定する -w (例: -w -40)。 Rlwrap はプロンプトを保留します
調理後にのみ印刷します。
料理 プロンプト
いつ、いつ rlラップ プロンプトがあると判断すると、いくつかのアクションを実行します。
指定されたオプションに応じて、フィルタリング (-z)、(-S)とぬりえ(-p),
この順序で。 結果として得られる「クックされた」プロンプトは、(「生の」プロンプトを消去した後)印刷されます。
必要に応じてプロンプトを表示します)
特殊 キー
管理 + O
現在の行を受け入れますが、履歴リストには入れません。 このアクションには、
読み込まれた行 コマンド名 rlwrap-accept-line-and-forget
管理 + ^
外部エディタを使用して現在の入力を編集します (これは、-m が指定されている場合にのみ機能します)
オプションが設定されています)。 このアクションには、 読み込まれた行 コマンド名 rlwrap-call-editor
これらの特別なキーが選択された理由は、現在バインドされていないということだけです。
任意の readline アクションに適用されます。 それらが気に入らない場合(またはウィンドウマネージャーがそれらを飲み込む場合)
次のような行をコードに含めることで、より賢明に再バインドできます。
〜/ .inputrc:
"\M-\Cm": rlwrap-accept-line-and-forget # ESC-ENTER
"\C-xe": rlwrap-call-editor # CTRL-x e
cf. NS 読み込まれた行(3) マンページ
ENVIRONMENT
RLWRAP_HOME:
履歴ファイルと完了ファイルが保存されるディレクトリ。
RLWRAP_EDITOR (あるいはそうでなければ 環境変数EDITOR、あるいは ビジュアル):
複数行の入力に使用するエディタ。 例:
エクスポート RLWRAP_EDITOR="microemacs -l%L:%C"
エクスポート RLWRAP_EDITOR="vi +%L"
最後の例はデフォルトです。 %L と %C は行番号と列番号に置き換えられます。
のカーソル位置に対応します rlラップの編集バッファ
RLWRAP_FILTERDIR:
PATH に沿った実行可能ファイルは理論的にはフィルターとして使用できますが、
フィルターはかなり突飛なプロトコルに従わなければなりません (cf. Rlwrapフィルター (3)) それは
別々にしておくと良いでしょう。 これが理由です rlラップ 特別なフィルターディレクトリを追加します
フィルターを起動する直前に $PATH に追加します。 デフォルトでは、これは
/usr/share/rlwrap/filters ですが、設定されている場合は $RLWRAP_FILTERDIR が使用されます。
信号
多くの信号が転送されます command: HUP INT QUIT USR1 USR2 TERM および (経由)
サイズ変更 commandの端末)ウインチ。 TSTP の処理にはある程度の注意が払われます (通常は、
ターミナルから CTRL-Z) 賢明に - たとえば、サスペンドした後 rlラップ 途中で
行編集の場合は、(「fg」と入力して) 続行すると、編集した正確な場所に移動します。
それを中止した。
応答に 1 秒以上かかるフィルターは、CTRL-C キーを押して中断できます。
ターミナル(ただし rlラップ これでは生き残れません)
If command キーボードから特定の信号を送信するキーストロークを変更します(たとえば、
CTRL-C の代わりに CTRL-G を使用する emacs) rlラップ 同じことを行います(ただし、
次のキーストローク - を使用します。 --ポーリング この点で rlwrap をより透明にするオプション)
日時 command 信号によって殺される、 rlラップ クリーンアップし、シグナルハンドラーをリセットし、
その後、同じ信号を自分自身に送信して自殺します。 これは、シェルが認識することを意味します
存在しない場合と同じ終了ステータス rlラップ.
リダイレクション
標準入力が端末でない場合、入力を編集しても意味がありませんので、 rlラップ
すべてのオプションを無視して単に実行します command。 stdout (または stderr) が
ターミナルの場合、rlwrap は起動後に /dev/tty (ユーザーターミナル) に再度開きます。
commandので、 commandの出力は期待どおりにリダイレクトされますが、キーボード入力と
rlラップ エラーメッセージはまだ表示されます。
これの結果はそれです rlラップ command 多かれ少なかれ次のように動作します command を特定いたします。
リダイレクト中。
EXIT ステータス
後のゼロ以外 rlラップ エラー、または commandの終了ステータス。 rlラップ 常に離れます
クラッシュ後でも端末がきれいな状態にあること。
onworks.net サービスを使用してオンラインで rlwrap を使用する
