scp выводит бессмысленное сообщение и дает сбой

scp выводит бессмысленное сообщение и дает сбой

SSH полностью работает с этой командой:

$ ssh user@$THE_IP_ADDRESS

Но когда я пробую scp, я получаю этот полный бред

$ scp ~/file user@$THE_IP_ADDRESS:~/file
\033[?25l\033[?7l\033[0m\033[31m\033[1m            .-/+oossssoo+/-.

И команда не выполняется. Что означает это сообщение? Почему я не могу скопировать свой файл?

Клиент:

Darwin MacBook-Pro-4.local 17.4.0 Darwin Kernel Version 17.4.0: Sun Dec 17 09:19:54 PST 2017; root:xnu-4570.41.2~1/RELEASE_X86_64 x86_64

А сервер — это:

Linux cortex-deus 4.13.0-36-generic #40~16.04.1-Ubuntu SMP Fri Feb 16 23:25:58 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

решение1

Оказывается, я .bashrcего сломал. Мои .bashrcзвонкинеофетчпри входе в систему для печати стилизованного ascii-арта. Это .-/+oossssoo+/-.часть ascii-арта, а остальное — это escape-коды для цветов и т. п. Я исправил это, не печатая ничего при входе в систему.

ПРАВКА: Но если вы настаиваете на отображении причудливых вещей, таких как ASCII-арт, при входе в систему, вы можете защитить свои команды с помощью if [[ $- =~ "i" ]]проверки того, является ли сеанс интерактивным.

решение2

У меня та же проблема. Проблема вызвана вызовом neofetch в начале сеанса терминала. Исправлено следующим образом в моем .bashrc:

if [[ $- != *i* ]]; then
    return;
else
    if [ -x /usr/bin/neofetch ]; then
        neofetch
    fi
fi

Связанный контент