オートコンプリート関数を独自のエイリアスにミラーリングするにはどうすればよいですか(14.04)

WBang

12.04マシンで使用したエイリアスがたくさんあります。

例:

alias pssh="tsocks ssh"
alias pscp="tsocks scp"
alias prdp="tsocks xfreerdp  ..........SOMETHING ...."

これらのエイリアスは、通常のLinuxコマンド(scp、ssh ect。)を変更したものであるため、これらのエイリアスには、元のエイリアスと同じオートコンプリートルールを設定する必要があります。通常のコマンドのルールはまったく問題ないので、独自のルールを作成したくありません。

12.04では、以下が完全に機能しました。

complete -F _ssh pssh
complete -F _scp pscp
complete -F _ssh prdp

これは14.04では機能しません。オートコンプリートしようとすると、次のエラーが発生します。

bash: completion: function `_ssh' not found

psshを試す前にsshでオートコンプリートすると、すべてが機能します。私の知る限り、オートコンプリートルールは使用される前に読み込まれないためです。sshのオートコンプリートルールが読み込まれるまで、私のルールは無効であり、エラーが発生します。

これを修正するにはどうすればよいですか、通常のLinuxコマンド用に定義されたオートコンプリートルールにエイリアスを正しくフックするにはどうすればよいですか?

ハビアー・ロペス

新しいbash完了リリース(> = 2.0)は、オートコンプリートロジックのロードに使用される時間を大幅に改善しました。彼らは要求に応じて必要なファイルをロードすることによってそれらを作成しました、これらのファイルの新しい場所は次のとおりです:

/ usr / share / bash-completion / completes /

ls -lah使用してそのようなディレクトリを探索すると、多くのソフトリンクが存在するよりもわかります。これは、すべてのコマンド/エイリアスにファイルが必要なためです。したがって、pssh、pscp、およびprdpがある場合は、これらの名前でリンクを作成する必要があります。

sudo ln -s /usr/share/bash-completion/completions/ssh /usr/share/bash-completion/completions/psss
sudo ln -s /usr/share/bash-completion/completions/ssh /usr/share/bash-completion/completions/pscp
sudo ln -s /usr/share/bash-completion/completions/ssh /usr/share/bash-completion/completions/prdp

もう1つの方法は、sshオートコンプリートファイルを/etc/bash_completion.d/にsyslinkすることです。

sudo ln -s /usr/share/bash-completion/completions/ssh /etc/bash_completion.d/ssh

前者の方法では、すべてのbashインタラクティブセッションで_ssh関数が読み込まれます(起動が遅くなります)。

上記の方法のいずれかを使用した後、complete -F _ssh pssh ...構成は_ssh関数をエイリアスに関連付けます。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Ubuntu 14,04 LTSにMuvizuをインストールするにはどうすればよいですか?

分類Dev

文字列をリトルエンディアン形式の「04x」16進数に変換するにはどうすればよいですか?

分類Dev

オートコンプリート関数を独自のエイリアスにミラーリングするにはどうすればよいですか(14.04)

分類Dev

Firestoreのタイムスタンプを2020年12月28日の3:52:04 AM UTC + 5:30のようなフォーマットされた日付と時刻として印刷するにはどうすればよいですか?

分類Dev

Ubuntu 18:04にQT5でCGALをどのようにインストールしますか?

分類Dev

01、02、03、04、05などのMS Wordでページ番号をフォーマットするにはどうすればよいですか?

分類Dev

RのデータフレームでコードT-25-4をT-25-04に変更するにはどうすればよいですか?

分類Dev

サーバー/クライアントのビデオおよびオーディオストリーミングアプリケーションをコーディングするにはどうすればよいですか?

分類Dev

文字列「04L」を「04」と「L」に変換するにはどうすればよいですか。

分類Dev

文字列「04L」を「04」と「L」に変換するにはどうすればよいですか。

分類Dev

コンテンツをAndroidアプリケーションにライブストリーミングするにはどうすればよいですか?

分類Dev

プライミングオートコンプリートの倍の幅を変更するにはどうすればよいですか?

分類Dev

Unityランチャーでスクリプトに独自のアイコンを与えるにはどうすればよいですか?

分類Dev

ライブ ストリーミングの YouTube ビデオをミラーリングするにはどうすればよいですか

分類Dev

ストリーミングラジオストリームURLへのリクエストを閉じるにはどうすればよいですか?

分類Dev

Ubuntu 12; 04にnmapをインストールする方法

分類Dev

Ubuntu 12; 04にnmapをインストールする方法

分類Dev

oh-my-zshでオートコンプリート付きのエイリアスを使用するにはどうすればよいですか?

分類Dev

Linux用の独自のアプリケーションインストーラーを作成するにはどうすればよいですか?

分類Dev

Apollonodejsサーバー; プラグインを作成するときにリクエストコンテキストでミューテーション/クエリスキーマパスを取得するにはどうすればよいですか?

分類Dev

Lubuntu 18:04でpcmanfmをイルカに置き換えるにはどうすればよいですか?

分類Dev

ライブTVをWindowsMedia Centerから別のコンピューターにストリーミングするにはどうすればよいですか?

分類Dev

非トレーリングdecltype戻り値の型を使用してアウトオブラインクラステンプレートメンバー関数を定義するにはどうすればよいですか?

分類Dev

非トレーリングdecltype戻り値の型を使用してアウトオブラインクラステンプレートメンバー関数を定義するにはどうすればよいですか?

分類Dev

ブートストラップ2.3グリフィコンアイコンへのパスを指定するにはどうすればよいですか

分類Dev

ブートストラップ2.3グリフィコンアイコンへのパスを指定するにはどうすればよいですか

分類Dev

アセンブラがADDEAX、1のマニュアルドキュメントの短い形式の05オペコード(add eax、imm32)を使用しないのに、04 ADD AL、1では使用するのはなぜですか?

分類Dev

テンプレート関数のエイリアスとインスタンス化を同時に行うにはどうすればよいですか?

分類Dev

zshのカスタム完了関数へのパスにオートコンプリートを追加するにはどうすればよいですか?

Related 関連記事

  1. 1

    Ubuntu 14,04 LTSにMuvizuをインストールするにはどうすればよいですか?

  2. 2

    文字列をリトルエンディアン形式の「04x」16進数に変換するにはどうすればよいですか?

  3. 3

    オートコンプリート関数を独自のエイリアスにミラーリングするにはどうすればよいですか(14.04)

  4. 4

    Firestoreのタイムスタンプを2020年12月28日の3:52:04 AM UTC + 5:30のようなフォーマットされた日付と時刻として印刷するにはどうすればよいですか?

  5. 5

    Ubuntu 18:04にQT5でCGALをどのようにインストールしますか?

  6. 6

    01、02、03、04、05などのMS Wordでページ番号をフォーマットするにはどうすればよいですか?

  7. 7

    RのデータフレームでコードT-25-4をT-25-04に変更するにはどうすればよいですか?

  8. 8

    サーバー/クライアントのビデオおよびオーディオストリーミングアプリケーションをコーディングするにはどうすればよいですか?

  9. 9

    文字列「04L」を「04」と「L」に変換するにはどうすればよいですか。

  10. 10

    文字列「04L」を「04」と「L」に変換するにはどうすればよいですか。

  11. 11

    コンテンツをAndroidアプリケーションにライブストリーミングするにはどうすればよいですか?

  12. 12

    プライミングオートコンプリートの倍の幅を変更するにはどうすればよいですか?

  13. 13

    Unityランチャーでスクリプトに独自のアイコンを与えるにはどうすればよいですか?

  14. 14

    ライブ ストリーミングの YouTube ビデオをミラーリングするにはどうすればよいですか

  15. 15

    ストリーミングラジオストリームURLへのリクエストを閉じるにはどうすればよいですか?

  16. 16

    Ubuntu 12; 04にnmapをインストールする方法

  17. 17

    Ubuntu 12; 04にnmapをインストールする方法

  18. 18

    oh-my-zshでオートコンプリート付きのエイリアスを使用するにはどうすればよいですか?

  19. 19

    Linux用の独自のアプリケーションインストーラーを作成するにはどうすればよいですか?

  20. 20

    Apollonodejsサーバー; プラグインを作成するときにリクエストコンテキストでミューテーション/クエリスキーマパスを取得するにはどうすればよいですか?

  21. 21

    Lubuntu 18:04でpcmanfmをイルカに置き換えるにはどうすればよいですか?

  22. 22

    ライブTVをWindowsMedia Centerから別のコンピューターにストリーミングするにはどうすればよいですか?

  23. 23

    非トレーリングdecltype戻り値の型を使用してアウトオブラインクラステンプレートメンバー関数を定義するにはどうすればよいですか?

  24. 24

    非トレーリングdecltype戻り値の型を使用してアウトオブラインクラステンプレートメンバー関数を定義するにはどうすればよいですか?

  25. 25

    ブートストラップ2.3グリフィコンアイコンへのパスを指定するにはどうすればよいですか

  26. 26

    ブートストラップ2.3グリフィコンアイコンへのパスを指定するにはどうすればよいですか

  27. 27

    アセンブラがADDEAX、1のマニュアルドキュメントの短い形式の05オペコード(add eax、imm32)を使用しないのに、04 ADD AL、1では使用するのはなぜですか?

  28. 28

    テンプレート関数のエイリアスとインスタンス化を同時に行うにはどうすればよいですか?

  29. 29

    zshのカスタム完了関数へのパスにオートコンプリートを追加するにはどうすればよいですか?

ホットタグ

アーカイブ