質問: ### 前提・実現したいこと scpでファイルをコピーするときに,ローカル上で ``` scp -r username@133.XX.XXX.XX:/mnt/workXX/username/pictures/aaa.png ./ ``` として,相手サーバーからファイルをローカルにコピーしたい場合に相手サーバーのパスを打っているときに,tab補完が効くように設定するにはどうすればいいのでしょうか? 「tab補完が効く」というのは例えば上記のコマンドをターミナル上で打つ際に「username@133.XX.XXX.XX:/mnt/wor」まで打ってtabを押すと/mnt/以下のディレクトリが全てターミナル上に候補として示されるという挙動です. ### 環境 Linux(Redhat系のOSです)
回答: 使っているシェルは何でしょうか? コマンドラインの補完はシェルの機能なので、使っているシェルによって設定方法が違います。 とりあえず Red Hat 系 OS で良く使われている bash での方法について書きます。 bash で scp コマンドの補完を行いたい場合は、yum コマンドで bash-completion-extras をインストールします。 インストール後は補完設定を有効にする為にログインしなおしてください。 bash での設定は上記だけですが、補完が行える条件として「対象のサーバにパスワード/パスフレーズ無しでログイン(コマンドを実行)出来るようになっている」というのが有ります。 なので、ssh-agent やパスフレーズ無しの認証鍵を設定するなどして、パスフレーズ無しでログインできるよう設定してください。