sudoを使用した場合のBashパラメータの完成

sudoを使用した場合のBashパラメータの完成

私はCetnOS 6を使用していますsudo

この問題を発見しましたhttps://superuser.com/questions/804128/bash-hints-does-not-work-after-sudo-or-man現在、次の作品を見ることができます:

  • yu[tab]完了しyumて別のタブをクリックすると、他のyumコマンドが提案されます。
  • yum upg[tab]yum upgrade必要に応じてオートコンプリート
  • sudo yu[tab]sudo yum期待どおりに自動的に完了します。
  • sudo yum upg[tab] オートコンプリートしない何もアドバイスしません。

sudoを使用してもパラメータの完成をどのように達成できますか?

yumこれはすべてのCentOSで動作するため、例としてのみ使用しています。結果は他のコマンドでも同じです。)


私のシステムに関するいくつかの情報:

$ uname -a
Linux server 2.6.32-642.6.1.el6.x86_64 #1 SMP Wed Oct 5 00:36:12 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

$ bash --version
GNU bash, version 4.1.2(1)-release (x86_64-redhat-linux-gnu)

$ yum list installed | grep completion
bash-completion.noarch  1:1.3-7.el6        @epel

$ cat .bashrc
# .bashrc

# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi

# User specific aliases and functions
complete -cf sudo

ベストアンサー1

これは完全な回避策ではありませんが、sudoコマンドcomplete -cf sudoに追加すると.bashrc自動的に完了します。

しかし、このようにしても何もしません。正確に一般的なタブの完成と同じです。たとえば、それを使用すると、sudo cd [tab]役に立たない可能性がたくさんあります。つまり、ファイル名が表示されます...誰がファイルにCDを入れたいですか?

ただし、ほとんどの場合、次のコマンドが完了します。sudo yum upd[tab]

おすすめ記事