Я могу подтвердить, что вышеупомянутое решение хорошо работает для меня. Я использую OpenWRT с CUPS на нем для печати через маршрутизатор (TL-WR1043ND). Я использую HP Laserjet P1005. Эти потребности, которые встроенное микропрограммное обеспечение загрузило каждый раз, оно включается. Я вставил встроенное микропрограммное обеспечение /usr/lib
и используемый следующая команда:
DEVICE_URI="usb://HP/HP%20LaserJet%20P1005?serial=BB0417Y" /usr/lib/cups/backend/usb 1 1 1 1 '' /usr/lib/sihpP1005.dl
Где usb://HP/HP%20LaserJet%20P1005?serial=BB0417Y
потребности, которые будут заменены Вашим. Можно найти его при помощи команды/usr/lib/cups/backend/usb.
При работе при Debian Lenny сделайте это:
apt-get install bash-completion
Затем пойдите для ~/.bash_profile, чтобы позволить ему локально или/etc/profile добавить его в масштабе всей системы. Вставьте следующее в:
if [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
удар auto-completion
кажется, способ пойти. установите bash-completion
пакет.
И затем в /etc/bash_completion.d/ssh
существуют ссылки на scp
команда.
Была та же проблема (, что и стоило, на OS X 10.11, стоковый bash 3.2.57, bash -завершение 1.3 через brew ). Следуя этому совету я расширил тильду в файле завершения ssh(/usr/local/etc/bash_completion.d/ssh
в моем случае или /etc/bash_completion.d/ssh
в противном случае )следующим образом:
_scp_local_files()
{
local IFS=$'\n'
local dirsonly=false
if [ "$1" = -d ]; then
dirsonly=true
shift
fi
cur="${cur/#\~/$HOME}" # <<< Expand tilde
if $dirsonly ; then
COMPREPLY=( "${COMPREPLY[@]}" $( command ls -aF1d $cur* 2>/dev/null | \
sed -e "s/$_scp_path_esc/\\\\&/g" -e '/[^\/]$/d' -e "s/^/$1/") )
else
COMPREPLY=( "${COMPREPLY[@]}" $( command ls -aF1d $cur* 2>/dev/null | \
sed -e "s/$_scp_path_esc/\\\\&/g" -e 's/[*@|=]$//g' \
-e 's/[^\/]$/& /g' -e "s/^/$1/") )
fi
COMPREPLY="${COMPREPLY/#$HOME/~}" # <<< Contract tilde
Я также обнаружил, что удобно сжимать тильду в конце, сохраняя пути красивыми и короткими (в том виде, в каком они были изначально введены ).