私のbashタブの完成が奇妙な動作をするDebianシステムを持っています。このようなコマンドを作成してscp file.tgz remoteServer:/home/remoteU
タブをクリックすると、scp file.tgz /home/remoteUser
ホスト参照の終了が完了します。ssh
このようなリモートディレクトリを参照するコマンド関連コマンドを使用すると、これが発生します。
bash 完了設定を確認した結果、テスト前にコロンの削除に関する内容が見つかりませんでした。コロンが動作を引き起こすと疑われるからです。また、興味深いのは、正しいディレクトリを取得するために最初にリモートシステムを照会することです。
どんな提案がありますか?
答え1
.bashrc
からダウンロードするには、この行をファイルに追加しますCOMP_WORDBREAKS
。
COMP_WORDBREAKS=${COMP_WORDBREAKS//:}
以下は、ソースコードのこの関数に基づいた剪定です。
__ltrim_colon_completions()
{
if [[ "$1" == *:* && "$COMP_WORDBREAKS" == *:* ]]; then
# Remove colon-word prefix from COMPREPLY items
local colon_word=${1%"${1##*:}"}
local i=${#COMPREPLY[*]}
while [[ $((--i)) -ge 0 ]]; do
COMPREPLY[$i]=${COMPREPLY[$i]#"$colon_word"}
done
fi
}