^コマンドでsudoを挿入できますか?

^コマンドでsudoを挿入できますか?

はい/いいえ質問は申し訳ありません。このUNIXチュートリアルそして以下を発見しました:

前のコマンドの繰り返しと修正

[..]
誤ってLeavenworthをLeaveworthと入力した場合は、次のように変更できます。%^ leave ^ leaven

残念ながら、これを行うコンピュータはありませんが、次のことを知りたいです。

いくつかのコマンドをsudo実行する必要があるので、^^sudo前のコマンドにsudoを「挿入」できますか?

答え1

歴史完成を使うのがより一般的なアプローチだと思います。

$ sudo !!

ほとんどのシェルには前のコマンドのショートカットがあります。それはbashとzshで動作します。交換を行う方法はいくつかありますが、通常はビットを削除または変更するのに最適です。拡張したい場合は、全体をキャッチするのが最も簡単な方法です。前後に好きなものを追加できます!前のコマンドを展開します。

編集する:元の質問はプレフィックス上記のコマンドはよく説明されています。欲しいなら変化構文の下の注釈として、この内容は次のとおりです。

$ sudo !!:s/search/replace/

...ここで、「search」は一致および置換する文字列です。理解できます。

答え2

Bashでは動作しません。

$ whoami
mikel
$ ^^sudo
-bash: :s^^sudo: no previous substitution

またはzsh:

$ ^^sudo
$

tcshもこの構文を考案したと思います。

% ^^sudo
No previous left hand side.

!!実行した作業:

$ whoami
mikel
$ sudo !!
sudo whoami
root

答え3

はい。あなたはこれを行うことができます。たとえば、/root ディレクトリーでコマンドを実行するには、ls次のようにします。

$ ls
$ ^ ^sudo 

2番目のコマンドは「sudo ls」として実行されます。

2行目のsudoの後に「空白」が追加されます。

関連情報