過去に、人々はどのようにしてコマンドを「コピーして貼り付ける」のでしょうか。

過去に、人々はどのようにしてコマンドを「コピーして貼り付ける」のでしょうか。

私はhistory | grep ‘whatever'cmdをコピーして貼り付けるのを使っていますが、これは退屈だと思います。

$(history | grep 'whatever')1行の場合はcmdを実行しますが(それ以上の場合は処理する必要があります)、行sed番号を削除するために使用する必要があります。

もしそうなら、コピー - 貼り付けが機能しない場合、人々はコマンドを再入力する必要がありますか?それとも単に使用しsedawk処理してから実行しますか?

答え1

私の経験によると、UNIXは必ずしも年代順ではありません。

「昔」にはコマンドライン編集もマウスもありませんでした。 Normalshまたはを入力したかのようにコマンドを再入力しますdash。これは、一般的なコマンドがより短い理由の1つであると考えられています。個人ディレクトリ$HOME/binの簡単なスクリプトは、$PATHより一般的な作業を容易にします。

これは長年の私の環境であり、PC上で実行されているX Windowsに改善されました(Xビジョン)を使用すると、マウスでコピーして貼り付けることができます。

以下はC Shell(csh)とそのコマンド履歴です。まだコマンドライン編集はありませんが、前のコマンドを繰り返して簡単に変更できます。以下は%Cシェルプロンプトです。

% echo hello, world
hello, world

% ^world^earth
echo hello, earth
hello, earth

% history
    12  echo hello, world
    13  echo hello, earth
    14  history

% !13
echo hello, earth
hello, earth

% !13:s/hello/goodbye
echo goodbye, earth
goodbye, earth

% !h
history
    12  echo hello, world
    13  echo hello, earth
    14  history
    15  echo hello, earth
    16  echo goodbye, earth
    17  history

その後、tcshコマンドライン編集ツールを提供します。私が書いたスクリプトはsh

その後、これはコマンドライン置換(上記のように使用)をbash使用できるだけでなく、私のスクリプトと同じ構文を使用できることを発見しました。まだ引っ越したことがないので、今はこれが私が好む環境です。history^old^newzsh

答え2

Bashには、コピーと貼り付けが不可能な端末でコマンドを再入力しないように、いくつかのオプションがあります。

最も有用なのはおそらくCtrl+R、履歴で逆検索を実行できます。

Alt+。最後のコマンドのパラメータを挿入します。

CTRL+Iまたは商標コマンド、ファイル名、ディレクトリ名を自動的に完了します。 Alt+/ファイル名とディレクトリ名のみが自動的に完成します。

Ctrl+Alt+E現在のコマンドラインに入力されているBashエイリアスを展開します。

もしそうなら、もちろん戻るそして下に矢印キーを使用すると、履歴を参照して実行されたコマンドを選択できます。

関連情報