GNU/Linux >> Linux の 問題 >  >> Linux

bash履歴を使用して前のコマンドを取得し、それをコピーしてから「実行」しますが、コマンドはコメント化されています

history コマンドを使用する代わりに、 ctrl+r を使用することをお勧めします そのコマンドの入力を開始します。変更するかのように矢印キーを押すと、オートコンプリート認識から抜け出し、実行する前に編集できるようになります。

更新:また、入力した文字列を含むさまざまなコマンドを循環させたい場合は、ctrl+r を押し続けます。


実際には、 :p を追加するだけです 実際に実行せずに印刷するコマンドに。例:

$ ls -la
$ !!:p

ls -la を出力します 実行せずに前のコマンドと同じように、 を押すだけです (上) それを見つけて編集します。

あなたもできます

!123:p

123 番目のコマンドを前のコマンドとして出力します。


fc を試すこともできます 履歴内のコマンドを編集するコマンド。

ウィキによると、

<ブロック引用>

fc 以前に対話型シェルに入力されたコマンドを一覧表示または編集して再実行する Unix の標準プログラムです。 fc ビルトインです bash のコマンド シェル; FCを助ける 使用情報が表示されます。

逆インクリメンタル検索とは別に (Ctrl +R )、さらに bash があります ショートカット:

man bash から :

previous-history (C-p)
    Fetch the previous command from the history list, moving back in the list. 
next-history (C-n)
    Fetch the next command from the history list, moving forward in the list. 
beginning-of-history (M-<)
    Move to the first line in the history. 
end-of-history (M->)
    Move to the end of the input history, i.e., the line currently being entered. 
reverse-search-history (C-r)
    Search backward starting at the current line and moving 'up' through the history as necessary. This is an incremental search. 
forward-search-history (C-s)
    Search forward starting at the current line and moving 'down' through the history as necessary. This is an incremental search. 
non-incremental-reverse-search-history (M-p)
    Search backward through the history starting at the current line using a non-incremental search for a string supplied by the user. 
non-incremental-forward-search-history (M-n)
    Search forward through the history using a non-incremental search for a string supplied by the user.
yank-nth-arg (M-C-y)
    Insert the first argument to the previous command (usually the second word on the previous line) at point. With an argument n, insert the nth word from the previous command (the words in the previous command begin with word 0). A negative argument inserts the nth word from the end of the previous command. Once the argument n is computed, the argument is extracted as if the "!n" history expansion had been specified.
yank-last-arg (M-., M-_)
    Insert the last argument to the previous command (the last word of the previous history entry). With an argument, behave exactly like yank-nth-arg. Successive calls to yank-last-arg move back through the history list, inserting the last argument of each line in turn. The history expansion facilities are used to extract the last argument, as if the "!$" history expansion had been specified. 
shell-expand-line (M-C-e)
    Expand the line as the shell does. This performs alias and history expansion as well as all of the shell word expansions. See HISTORY EXPANSION below for a description of history expansion. 
history-expand-line (M-^)
    Perform history expansion on the current line. See HISTORY EXPANSION below for a description of history expansion.
insert-last-argument (M-., M-_)
    A synonym for yank-last-arg. 
operate-and-get-next (C-o)
    Accept the current line for execution and fetch the next line relative to the current line from the history for editing. Any argument is ignored. 
edit-and-execute-command (C-xC-e)
    Invoke an editor on the current command line, and execute the result as shell commands.

Linux
  1. コマンドラインでsortを使用してソートする

  2. xclipを使用してLinuxコマンドラインでコピーして貼り付けます

  3. コマンドラインでの毎日のBashのヒント

  1. 前のコマンドまで「スクロール」した後のBashを使用して…この履歴で次のコマンドに移動するにはどうすればよいですか?

  2. すべてのファイルを取得しますが、ファイルは配列内にあります– Bash?

  3. `date` コマンドを使用して前月、当月、翌月を取得する

  1. Linuxのwatchコマンドでコマンドとタスクを監視する

  2. sourceコマンドを使用して関数と変数をBashにインポートします

  3. 特定のプロセスで実行されるユーザー、pid、およびコマンドのみを取得するにはどうすればよいですか? (Ubuntu 11.10)