이 코드는 작동하지 않습니다 :
scp ~/Desktop/favicon.ico nameOfBashAlias:/public_html/mySite/templates/blog/
별명은 다음과 같습니다.
alias nameOfBashAlias='ssh myUsername@11.11.11.111'
이 문제를 어떻게 해결합니까?
편집하다
의 많은 인스턴스를 실행하는 것과 같이 다음 코드와 비슷한 것이 가능 bash
합니까?
scp ~/Desktop/favicon.ico (nameOfBashAlias)>:/public_html/mySite/templates/blog/
위의 코드가 작동하지 않았습니다.
답변
달성하려는 작업에 Bash 별칭을 사용하지 않는 것이 좋습니다. SSH의 구성 파일에 모든 정보를 입력하고 완료 할 수 있습니다. 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 앱에서도 작동합니다.
OpenSSH는 다음 소스에서 다음 순서로 구성 데이터를 얻습니다.
- 명령 줄 옵션
- 사용자의 구성 파일
~/.ssh/config
- 시스템 전체 구성 파일
/etc/ssh_config
답변
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
파일 내용을 호출 하여 디스크의 파일로 보냅니다. 다른 방법으로 업로드 할 수 있습니다.
답변
별명은 bash 명령 의 첫 단어 일 때 대체됩니다 . 당신의 별명은 세 번째 단어의 시작 부분에 나타납니다.
나는 이것을 위해 쉘 변수를 사용할 것이다.
blah='myUsername@11.11.11.111'
scp ~/Desktop/favicon.ico ${blah}:/public_html/mySite/templates/blog/
Btw, 나는 당신의 원래 별명에 ssh가 없어야한다고 생각합니다. 그리고 마지막 코드 샘플에는 잘못된 것으로 보이는>가 있습니다.
답변
아니요, BASH
별칭이 작동 하는 방식이 아니기 때문에 예제가 작동하지 않습니다 . 변수를 사용하는 것이 좋습니다. 이것을 당신의 ~/.profile
또는 ~/.bashrc
[어떤 쪽을 사용하든] 에 넣으십시오 :
site="user@site.com"
그러면 터미널에서 이것이 작동합니다 :
scp favicon.ico $site:/dir/
또는 iPod과 같은 스크립트를 작성할 수 있습니다. 내 bashrc ipod=192.168.2.60
에서 나는 스크립트 source ~/.bashrc
에서 변수를 스크립트에서 가져온 다음 스크립트에서 가져 scp $1 $ipod
옵니다. 단점은 재귀를 수행하기 위해 스크립트를 편집해야한다는 것입니다. 그리고 나는 1 파일 만 할 수 있습니다. 그러나 그중 하나가 필요할 때 나는 보통 scp
터미널에서 직접 사용 합니다!
~ 매트