AIX上のkshは、ファイル名の補完にタブキーを使用するように構成できますか?


8

インストールできるソフトウェアに制限されているAIX 7サーバーがいくつかありksh、タブキーを使用してシェルプロモーションでファイル名を完成できるかどうか疑問に思っています。

マニュアルページはkshのまばらで、この理由をカバーする関連する質問はここにはありません。大多数のユーザーがkshを使用しているため、私は自分のシェルをbashにシフトするのをためらっていますが、それは簡単なことだと思います。

私は最初にputty / sshを使用してPCからログインし、X11転送がPC上のHummingbird Exceedへのトラフィックを戻すと、ほとんどxtermから作業します。

bos.rte.shellAIX 7.1に同梱されている/ usr / bin / ksh 、Tabキーを押してファイル名の補完をトリガーするように構成できますか(通常はESC + \を押すことでトリガーされます)?


「echo $ TERM」は何と言っているのですか?
schaiba 2013

@schaiba-質問の不完全な言い回しを理解していただきありがとうございます。私の$ TERMは、パテ/ ssh経由でログインしているか、xtermを生成しているかに関係なくxtermです...
bmike

質問には$ {。sh.version}の値を含めてください。ファイル名補完のためのダブルTABは比較的遅く追加されました。
Henk Langeveld

@HenkLangeveld $ {。sh.version}をエコーし​​ようとすると「不良置換」エラーが発生する-のバージョンbox.rte.shellは7.1.1.16です
bmike

回答:


3

/usr/bin/ksh93利用可能かどうかを確認します。

ksh93 --version

それが言うなら

version         sh (AT&T Research)

次に、それをインタラクティブシェルとして使用します。$ {。sh.version}があり、TAB展開が必要です。


古いksh新しいトリックを教える明白な方法がない限り、これはおそらく答えになるでしょう。表示された/usr/bin/ksh意図的な機能で更新され、第二のバイナリがコンパイルされ、より最近の特徴を持っていません。箱から出して動作するように見えるため、タブを押すと期待どおりに動作しますが、kshとksh93の違いで他のスクリプトが失敗するリスクはほとんどありません。
bmike 2013

1
実際、IBMはおそらく、(Open)Solarisでkshをksh93に更新したときにSunが行ったのとは異なり、インターフェースを変更するときに名前を変更するという概念に従いました。
ヘンクランゲヴェルド2013

4

私はあなたのシェルがviモードであることを収集します。私のAIXの知識は限られているため、これが機能するかどうかはわかりませんが、これをプロファイルに追加することができます。

set -o emacs
bind "^I=complete"

グーグルによれば、AIXのkshはこの観点からはちょっと不自由なので、おそらくbashの方がベターなのでしょう。


これは、私がインストールしたkshバージョンでも機能しません。私はviバインディングを好みますが、emacsに切り替えて、タブキーが期待どおりに機能するかどうかを確認しました。
bmike 2013

AIX 7.1でバインドが見つからない
ブライスギンタ

3

この質問には代替案があります。

最初にviモードを設定しますksh

$ set -o vi

その後、Tabこの方法でキーを使用できます。例:次のパスを完成させます。

$ cd /usr/local/s

Tabキーを2回入力すると、次のように表示されます。

$ cd /usr/local/s
1) sbin/
2) share/
3) src/

オプション2/usr/local/share/フォルダー)を使用する場合は、2 Tab2キーの後にTabキー)と入力します。そして、あなたはこれを見るでしょう:

$ cd /usr/local/share/ 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.