Если вы используете bash
4 или более поздние версии, вы можете воспользоваться крюком command_not_found_handle
, так как голый IP-адрес вряд ли будет действительным именем команды. Добавьте это в Ваш файл .bashrc
:
command_not_found_handle () {
if [[ $1 =~ [0-9][0-9][0-9]\.[0-9][0-9][0-9]\.[0-9][0-9][0-9]\.[0-9][0-9][0-9] ]]; then
ssh user@$1
else
printf "Command not found: %s\n" "$1" >&2
return 127
fi
}
Если отсутствующая команда совпадает с Вашим регулярным выражением для IP адреса, она вместо этого выполнит нужную команду ssh
; в противном случае, она будет имитировать поведение отсутствующей команды по умолчанию.
Если строка заканчивается на [117248]^M[117249], то вот в чем проблема.
Исправить файл с разбитыми окончаниями строк можно запустив
Если на сервере нет dos2unix, можно использовать sed, например:
alias vim='/path/to/new/vim'
или просто:
В общем, многие [117236]tars[117237] вообще не будут работать с абсолютными путями, если только [117238] не будет явно указано [117239].
По умолчанию, GNU tar сбрасывает ведущий [117874]/[117875] на вход или выход, и жалуется на имена файлов, содержащие компонент [117876]...[117877]. Эта опция отключает такое поведение.
Вполне возможно, что команды [117242]ssh[117243] заранее разрешают пути в зависимости от доставки команды и кавычки. То же самое относится и к расширению переменных в ваших именах.[116735].