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

336
Andy Carlson

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 
0
Они выглядят как escape-коды, которые говорят эмулятору вашего терминала делать такие вещи, как установка цвета текста. Что произойдет, если вы добавите `-v` (до` -vvv`) в эту командную строку `scp`? Опубликуйте полученный подробный / отладочный вывод, чтобы мы могли видеть, что происходит. Spiff 6 лет назад 2

1 ответ на вопрос

2
Andy Carlson

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

РЕДАКТИРОВАТЬ: Но если вы настаиваете на повторении таких причудливых вещей, как ascii art при входе в систему, вы можете защитить свои команды, с помощью if [[ $- =~ "i" ]]которых проверяется, является ли сеанс интерактивным.