it-swarm-ja.com

CentOS上矢印前のコマンド

私が使用したFreeBSDマシンでは、上矢印キーを押すと、すでに入力されている文字に基づいて前のコマンドが表示されます。ただし、私が使用しているCentOSマシンでは、上矢印キーを押すと直前のコマンドが表示されます。

CentOS用のFreeBSDの上矢印キーのように設定する方法があるかどうか誰かが知っていますか?

どうもありがとう。

2
Dave

説明している動作は、シェルに基づいています。

CentOSのデフォルトのシェルはbashです。次のように入力することでこれを確認できます。

 $ echo $ Shell 
/bin/bash 

そうである場合は、CTRL-rを押すことで、FreeBSDシェル(おそらくksh)と同様の機能を取得できます。次のようなものが表示されます。

(reverse-i-search) `':

入力を開始するだけで、入力内容に基づいて以前に実行したコマンドが表示されます。

たとえば、この端末でCTRL-rを入力すると、次のようになります。

(reverse-i-search) `s ':SudoポートインストールRuby 

次に、矢印キーを使用して上下にスクロールし、検索条件(この場合は「s」)に一致するすべてのコマンドを実行できます。

2
mando

次のように、bashのプライベート~/.inputrcファイルを構成することもできます。

"\e[5~": history-search-backward
"\e[6~": history-search-forward

これで、ページアップキーは履歴内を後方に検索し、ページダウンキーは前方に検索します。これが私が使っているものです。 (シェルを有効にするには、シェルを再起動する必要があります。)

シェルコマンドを(ページアップ/ページダウンではなく)別のキーにバインドする場合は、CTRL + Vを押してからKEYを押して、キーシーケンスを決定します。

2
knweiss

FreeBSDのデフォルトのシェルはCSHです。 CentOSにはそのためのパッケージがあるはずです(これについてはパッケージマネージャーに相談してください)。

ハウツー: Linuxにcsh/tcshシェルをダウンロードしてインストールする

1
flokra
  1. @flokraが述べたようにtcshをインストールします。
  2. .cshrcファイルをホームディレクトリに配置します。そのファイル内で、上矢印または下矢印を押したときに部分的に入力されたコマンドに一致するリストを表示するようにtcshを構成します。 http://svnweb.freebsd.org/base/stable/9/share/skel/dot.cshrc?revision=244007&view=co&pathrev=244007 をガイドとして使用しますが、探しているのは:

    bindkey -k up history-search-backward
    bindkey -k down history-search-forward
    
0
wandns

これはシェルによって定義されます。次のように入力して、使用しているシェルを判別できます。echo$ 0

FreeBSDでは、通常、csh(BSDの本拠地であるBerkeleyで発明された)を実行しています。 Linuxでは、通常、bashを実行します。 emacsの履歴編集モードに切り替えると、「上矢印」の動作を得ることができます。次のように入力してみてください。ターミナルで-oemacsを設定します。

この動作が気に入った場合は、$ HOME/.bashrcファイルを編集してその行を追加すると、すべてのシェルに追加できます。

0
Rich Homolka