[解決済み】前のコマンドの引数を使用するには?
質問
私は、以下のことを知っています。 エスケープ + . は、最後のコマンドの最後の引数を与えます。
しかし、私は最後のコマンドの最初の引数に興味があります。 そのためのキーバインドがあるのでしょうか?
同じように、最後のコマンドからn番目の引数を取得する汎用的な方法はないでしょうか。
私は、bashスクリプトの中で
$0
,
$1
などがありますが、これらはコマンドラインでは使えません。
また、前のコマンドの第0引数を繰り返し実行するのはどうでしょうか。 エスケープ + . ?
解決方法は?
と同じように
M-.
(メタドットまたはエスクドットまたはアルトドット)は、読み取り線機能
yank-last-arg
,
M-C-y
(meta-control-y or esc-ctrl-y or ctrl-alt-y) は読み上げ機能です。
yank-nth-arg
. を指定しない場合
n
の場合、直前のコマンドの第1引数をヤンクします。
引数を指定するには、Escapeを押しながら数字を押すか、Altを押しながら数字を押してください。以下のようになります。 Alt - - で負の数を指定し始め、Altを離し、数字を押します(これは引数のリストの最後から数えます)。
例
次のコマンドを入力します。
$ echo a b c d e f g
a b c d e f g
次のプロンプトで、次のように入力します。
echo
(次のスペースを含む)、次に
プレス Alt - Ctrl - y と表示されるようになりました。
$ echo a
を押さずに 入力 を実行します。
押す Alt - 3 オルト - Ctrl - y
プレス Alt - - 2 オルト - Ctrl - y
これでわかると思います。
$ echo ace
ちなみに
echo
を引数0として選択することで、行に表示されます。
プレス Alt - 0 Alt - Ctrl - y
編集する
オリジナルに追加した質問にお答えします。
を押すことができます。 Alt - 0 を繰り返し押してください。 Alt - . で前のコマンドをステップ実行します(arg 0)。同様に アルト - - を繰り返すと オルト - . を実行すると、前の次から最後の引数をステップ実行することができます。
履歴の特定の行に適切な引数がない場合、ベルが鳴らされます。
よく使う組み合わせがある場合は、1回のキー操作で実行できるようにマクロを定義することができます。この例では、前のコマンドの第2引数を呼び出すために Alt - シフト - Y . このキーストロークの代わりに、利用可能な任意のキーストロークを選択することができます。繰り返し押して、前のものをステップアップすることができます。
試しに、Bashのプロンプトでマクロを入力してみてください。
bind '"\eY": "\e2\e."'
永続化させるには、次の行を
~/.inputrc
ファイルに記述します。
"\eY": "\e2\e."
残念ながら、これは arg 0 や負の引数番号では動作しないようです。
関連
-
[解決済み] シェルスクリプトでブール変数を宣言して使用するにはどうすればよいですか?
-
[解決済み] Bashスクリプトのソースディレクトリをスクリプト自体から取得するにはどうすればよいですか?
-
[解決済み] Bashシェルスクリプトでディレクトリが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] scpを使ってリモートからローカルにフォルダをコピーするにはどうしたらいいですか?
-
[解決済み] Bashスクリプトからプログラムが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] MySQLでコマンドラインを使用してSQLファイルをインポートするにはどうすればよいですか?
-
[解決済み] Bashでコマンドライン引数を解析するには?
-
[解決済み] Bashでコマンドの出力に変数を設定するにはどうすればよいですか?
-
[解決済み] コマンドラインから .bash_profile を再読み込みする方法は?
-
[解決済み] Bashコマンドからテキストファイルの内部を検索・置換する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】bashでjsonファイルを解析するために、jqの出力にあるダブルクオートを削除する方法は?
-
[解決済み】ZIPエラー - 何もできない
-
[解決済み] シェルスクリプトでブール変数を宣言して使用するにはどうすればよいですか?
-
[解決済み] osx find exec rm find: exec: 不明な主またはオペレータ
-
[解決済み] systemd サービス 203/EXEC の失敗 (そのようなファイルやディレクトリがない) を修正する。
-
[解決済み] eval "$(docker-machine env default) "とする。
-
[解決済み] awk で行を飛ばすにはどうしたらいいですか?
-
[解決済み] Grep 'binary file matches'. どうすれば正常なgrepの出力が得られるか?[重複]する
-
[解決済み] Bashのforeachループ
-
[解決済み] 直前のbashコマンドの引数を呼び出すには?