Как включить локальное ~ автозавершение для scp?

Я могу подтвердить, что вышеупомянутое решение хорошо работает для меня. Я использую 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.

3
14.11.2013, 18:26
3 ответа

При работе при Debian Lenny сделайте это:

apt-get install bash-completion

Затем пойдите для ~/.bash_profile, чтобы позволить ему локально или/etc/profile добавить его в масштабе всей системы. Вставьте следующее в:

if [ -f /etc/bash_completion ]; then
 . /etc/bash_completion
fi
1
27.01.2020, 21:32
  • 1
    @sendmoreinfo я не уверен в этом. Какая-либо ссылка на то, почему это должно было бы быть включено, чтобы все пользователи работали на единственную команду для обычного пользователя? –  l0b0 13.11.2013, 11:14
  • 2
    , Если это - один пользователь, просто идет для .bash_profile. Пропустите/etc/profile. Больше на файлах профиля здесь: http://www.linuxfromscratch.org/blfs/view/6.3/postlfs/profile.html –  mariusz 15.11.2013, 09:22

удар auto-completion кажется, способ пойти. установите bash-completion пакет.

И затем в /etc/bash_completion.d/ssh существуют ссылки на scp команда.

0
27.01.2020, 21:32

Была та же проблема (, что и стоило, на 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

Я также обнаружил, что удобно сжимать тильду в конце, сохраняя пути красивыми и короткими (в том виде, в каком они были изначально введены ).

0
27.01.2020, 21:32

Теги

Похожие вопросы