\r
— это нотация C для возврата каретки, которая отображается в окончаниях строк CRLF в стиле Windows -. Обычные средства обработки текста -в Unix-системах считают его обычным символом.
Итак, с точки зрения sed
рассматриваемая линия выглядит примерно так (, если я правильно понял):
Experiment Name,P030\r
Вы можете запустить файл через tr -d '\r'
, dos2unix
или sed -e 's/\r$//'
, чтобы удалить CR из каждой строки. Или то же самое для полученной строки. Или разберитесь с этим, изменив выражение sed, которое выбирает нужную строку. Это также будет работать с любым другим конечным мусором в строке.
напр. это удалит из строки все, кроме буквенно-цифровых символов, следующих за фиксированной меткой:
| sed -e 's/.*Experiment Name,\([[:alnum:]]*\).*/\1/'
(\(..\)
используется для сохранения («захвата» )части совпадающей строки, а \1
относится к первой такой группе.)
Попробуйте удалить IP-адрес хоста из таблицы. Также вы должны установить и включить демон sshd, если вы этого не сделали, он не будет работать. Проверьте, установлен ли ssh и включен ли демон. Это также то, как я настроил свою таблицу IP.
Надеюсь, это поможет
Проблема связана с вашей виртуальной машиной. По умолчанию ssh появился в Ubuntu 18.04, но сервера openssh -там не будет. Я попытался повторно -создать ваш сценарий и получил основную причину проблемы, т.е.
ssh_exchange_identification: read: Connection aborted
Решение приведено ниже.:
openssh-server
как пользователь root apt install openssh-server
ssh <username>@192.168.0.103 -p 2222
Это сработает. Дайте мне знать, если вы столкнетесь с какой-либо проблемой.