web-dev-qa-db-ja.com

上矢印を使用して前のコマンドを実行する

上矢印を使用して前のコマンドを実行するには、どのようなセットアップが必要ですか? Macでは、上矢印キーを使用して、実行したばかりのコマンドを再実行できますが、bashシェルでは機能しないようです。

8.04を使用します(コンパイラーのバージョンの問題により、最新のディストリビューションを使用できません)。

追加されました

Mac上のVMWare Fusionでの新規インストールなので、何も変更しませんでした。

11
prosseek

履歴が有効になっていることを確認してください。次のコマンドを実行して、現在のステータスを確認できます。

set -o

出力には以下を含める必要があります(history on行に注意してください):

histexpand      on
history         on
ignoreeof       off

これが有効になっていない場合は、set -o historyを実行する必要があります。この変更を永続的にするには、~/.bashrcに追加する必要があります。

set -o history

前のコマンドを実行する場合は、次のコマンドも実行できます。

!!

Bashマニュアルページ から:

Event Designators
   An event designator is a reference to a command line entry in the history list.

   !      Start a history substitution, except when followed by a blank, newline,
          carriage return, = or ( (when the extglob Shell option  is
          enabled using the shopt builtin).
   !n     Refer to command line n.
   !-n    Refer to the current command line minus n.
   !!     Refer to the previous command.  This is a synonym for `!-1'.
   !string
          Refer to the most recent command starting with string.
   !?string[?]
          Refer to the most recent command containing string.  The trailing ? 
          may be omitted if string is followed immediately by a newline.
   ^string1^string2^
          Quick  substitution.  Repeat the last command, replacing string1 with
          string2.  Equivalent to ``!!:s/string1/string2/'' (see Modifiers below).
   !#     The entire command line typed so far.

Bashを使用している場合、デフォルトのショートカットを使用して履歴をナビゲートすることもできます。

  • Ctrl + P:前のコマンド
  • Ctrl + N:次のコマンド

    履歴を操作するためのコマンドprevious-history(C-p)履歴リストから前のコマンドを取得し、リストに戻ります。 next-history(C-n)履歴リストから次のコマンドを取得し、リスト内を前方に移動します。

10
Lekensteyn

実際にbashを使用していることを確認してください。一般的な落とし穴は、useraddの代わりにadduserまたはユーザーとグループ(GUI)アプリケーションを使用して新しいユーザーを作成することです。前者では、デフォルトのシェルセットは/bin/shです。 chshch怒り shell)/bin/bashに設定されていることを確認します。

13
geirha

ターミナルで入力:

gedit  ~/.inputrc

次に、貼り付けをコピーして保存します。

"\e[A": history-search-backward
"\e[B": history-search-forward
"\e[C": forward-char
"\e[D": backward-char

ターミナルでこれからインクリメンタル検索を実行できます。前のコマンドを見つけるために必要なことは、最初の2文字または3文字を入力するだけで、上向き矢印を押すとすぐに表示されます。

1
Shailesh Singh