Nie polecam używania aliasu Bash do tego, co próbujesz osiągnąć. Możesz po prostu wprowadzić wszystkie informacje do pliku konfiguracyjnego SSH i gotowe. Przeczytaj stronę podręcznika, ssh_config
jeśli jesteś ciekawy, skąd one pochodzą. Możesz zrobić porządne rzeczyssh_config
Plik znajduje się tutaj ~/.ssh/config
Użyj ulubionego edytora i utwórz plik, a następnie dostosuj go do swojej sytuacji.
Host nameOfBashAlias
HostName 11.11.11.11
User myUsername
Port 22
Jesteś teraz skonfigurowany do wydania następującego polecenia:
$ ssh nameOfBashAlias
Założę się, że nie wiesz, jak zintegrowane jest to wszystko. Teraz, gdy masz już tę konfigurację, działają również następujące polecenia
$ scp /some/file nameOfBashAlias:/path/to/storage/location/
Nie trzeba już pamiętać, że scp używa „-P” dla portu, a ssh używa „-p”. Ten „alias” działa również w aplikacjach GUI OS X, takich jak Transmit.
OpenSSH uzyskuje dane konfiguracyjne z następujących źródeł w następującej kolejności:
- opcje wiersza poleceń
- plik konfiguracyjny użytkownika
~/.ssh/config
- plik konfiguracji całego systemu
/etc/ssh_config
scp
nie działa bash. Musisz uruchomić to:Jeśli masz tylko alias, a powyższy kod nie jest dla Ciebie możliwy, rozważ uruchomienie go w następujący sposób:
W ten sposób wywołujesz
ssh
zawartość pliku i kierujesz ją do pliku na dysku. Można to napisać w inny sposób dla przesyłania.źródło
Aliasy są zastępowane, gdy są pierwszym słowem polecenia bash. Twój alias pojawia się na początku trzeciego słowa.
Użyłbym do tego zmiennej powłoki.
Przy okazji, myślę, że twój oryginalny alias nie powinien zawierać w nim ssh. Ostatni przykładowy kod zawiera>, który również wygląda źle.
źródło
Nie, twoje przykłady nie będą działać, ponieważ nie tak
BASH
działają aliasy. Sugeruję użycie zmiennej. Umieść to w swoim~/.profile
lub~/.bashrc
[cokolwiek użyjesz]:site="[email protected]"
wtedy w twoim terminalu to zadziała:
scp favicon.ico $site:/dir/
Możesz też napisać skrypt, tak jak ja, dla mojego iPoda. w moim bashrc mam
ipod=192.168.2.60
, potem w skrypcie,source ~/.bashrc
więc zapisuje moje zmienne w skrypcie, a następnie w skrypcie:scp $1 $ipod
wadą jest to, że muszę edytować skrypt, aby wykonać rekurencję. i mogę zrobić tylko 1 plik. ale kiedy potrzebuję któregoś z tych, zwykle używam
scp
bezpośrednio z terminala!~ Matt
źródło