Не удается использовать scp с псевдонимом bash

этот код не работает:

scp ~/Desktop/favicon.ico nameOfBashAlias:/public_html/mySite/templates/blog/

псевдоним:

alias nameOfBashAlias='ssh myUsername@11.11.11.111'

как решить эту проблему?

Edit

что-то похожее на следующий код, как работает множество экземпляров bash?

scp ~/Desktop/favicon.ico (nameOfBashAlias)>:/public_html/mySite/templates/blog/

Я не получил вышеуказанный код для работы.

6
задан bwDraco
30.01.2023 9:06 Количество просмотров материала 3591
Распечатать страницу

4 ответа

Я бы не рекомендовал использовать псевдоним Bash для того, что вы пытаетесь выполнить. Вы можете просто ввести всю информацию в конфигурационный файл SSH и сделать с ним. Прочтите man-страницу для ssh_config Если вам интересно, откуда такие берутся. Вы можете сделать некоторые интересные вещи с ssh_config

файл находится здесь ~/.ssh/config

используйте ваш любимый редактор и создайте файл, а затем настроить их к вашей ситуации.

Host nameOfBashAlias
HostName 11.11.11.11
User myUsername
Port 22

теперь вы настроены на выпуск следующая команда:

$ ssh nameOfBashAlias 

что-то я держал пари, что вы не знали, насколько интегрированы все это. Теперь у вас есть эта настройка, следующие команды также работают

$ scp /some/file nameOfBashAlias:/path/to/storage/location/ 

больше не нужно помнить, что scp использует"- P "для порта, а ssh - "- p". Также этот "псевдоним" также работает в приложениях OS X gui, таких как Transmit.

OpenSSH получает данные конфигурации из следующих источников в следующем порядке:

  1. параметры командной строки
  2. файл конфигурации пользователя ~/.ssh/config
  3. системный файл конфигурации /etc/ssh_config
20
отвечен Von Landfried 2023-01-31 16:54

scp не запускает bash. Вам нужно будет запустить это:

 scp ~/Desktop/favicon.ico 11.11.11.111:/public_html/mySite/templates/blog/

если у вас есть псевдоним и код выше это не возможно для вас, рассмотрите ее такой:

nameOfBashAlias cat /public_html/mySite/templates/blog/ > ~/Desktop/favicon.ico

таким образом, вы на самом деле вызов ssh и направить содержимое файла в файл на диске. Это может быть написано другим способом для загрузки.

5
отвечен 2023-01-31 19:11

псевдонимы заменяются, когда они first слово команды bash. Ваш псевдоним появляется в начале третьего слова.

Я бы использовал переменную оболочки для этого.

blah='myUsername@11.11.11.111'
scp ~/Desktop/favicon.ico ${blah}:/public_html/mySite/templates/blog/

кстати, я думаю, что ваш оригинальный псевдоним не должен иметь ssh в нем. И последний пример кода имеет > в нем, который тоже выглядит неправильно.

2
отвечен Andrej Panjkov 2023-01-31 21:28

нет, ваши примеры не работают, потому что это не так BASH псевдонимы работу. Я предлагаю вам использовать переменную. Положите это в свой ~/.profile или ~/.bashrc [какое бы ни вы используете]:

site="user@site.com"

тогда в вашем терминале это будет работать:

scp favicon.ico $site:/dir/



или можно написать скрипт, как я на моем iPod. в моем bashrc у меня ipod=192.168.2.60, тогда в моем скрипте я source ~/.bashrc таким образом, он получает мои переменные в сценарии, а затем в сценарий:scp $ipod

недостатком является то, что мне придется редактировать скрипт, чтобы сделать рекурсивный. и я могу сделать только 1 файл. но когда мне нужен любой из них, я обычно использую scp прямо из терминала!

~Matt

0
отвечен Matt 2023-01-31 23:45

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх