Описание тега katanagatari
Итак, я просто начал новый класс C++, который требует от меня, чтобы программы в среде Linux. У меня нет Linux установлен на моей машине, но у меня ОС Х и я могу по SSH в линукс машине в лаборатории в школе (и это предпочтительнее, так как мой код должен компилироваться и работать на машине в лаборатории, независимо от того, действительно ли он работает на моей машине). Если ты не можешь сказать до конца этот вопрос, я не совсем знакомы с Linux.
Я часто нужно взять файлы, которые я скачать на моей локальной машине и положил их на удаленном компьютере, редактировать их, чтобы сделать программу, а затем положить их обратно на моей локальной машине, чтобы загрузить их на наш аккаунт Dropbox. Я устал печатать
УПП -Р ХХ [email protected]:~/именем именем
и решили сделать псевдоним для этого. Вот когда я обнаружил псевдонимы не справиться с такого рода вещи, поэтому я решил написать вместо сценария оболочки. Вот что у меня получилось:
#!/бин/Баш
Автор#: мне
# Создан 26 Августа 2014
# трансферы файл с удаленной машины в текущий каталог на локальном компьютере
# держит же именем
расположение="$1"
# название получит только часть пути, после последнего слеша
# т. е. именем
имя="$(Эхо "1 $" | СЭД -Н-Е С/^.*\///Р')"
# Эхо "$расположение"
# Эхо "$имя"
УПП -Р ХХ [email protected]:"$расположение" "$имя"
Теоретически, я могу просто типа сделать ~/путь/до/файла
и он будет получать файл с удаленного компьютера и скопировать его (с тем же именем) в текущий каталог на локальном компьютере.
Что команды SCP, если запускать из командной строки, работает отлично. Когда я вставляю его в скрипт, он ломается. Это дает мне ошибку: нет такого файла или каталога
После Большого испытания (вы можете увидеть некоторые закомментирован вывод отладки там) и исследования, я обнаружил, что оболочка расширяется ~
прежде чем он отправляет его в скрипт (ну это мое предположение, основанное на том, что я узнала про шарики). Мой скрипт потом ищем файл в пути к моей локальной машины домашней папке вместо удаленной машины домашней папке. Как я могу заставить ее прекратить делать это?
Я понял, пока печатаю этот вопрос, что я, наверное, просто нужно несколько цитат, когда я выполнить команду... но я действительно не хочу этого делать. Могу ли я исправить это как-то без того, чтобы вид сделать "~/именем"
, потому что вводя эти цитаты действительно раздражает.
Извините, если много посторонних информация, но я подумала, что слишком много лучше, чем слишком мало. Спасибо!
PS: я уже нашел это о настройке СШ. В то время как полезно, я бы все равно придется вводить дважды точным именем, которое не позволяет мне быть таким же ленивым, как я хочу быть.