此代码不起作用:
scp ~/Desktop/favicon.ico nameOfBashAlias:/public_html/mySite/templates/blog/
Run Code Online (Sandbox Code Playgroud)
别名是:
alias nameOfBashAlias='ssh myUsername@11.11.11.111'
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题?
是否可能类似于以下代码,例如运行多个bash?
scp ~/Desktop/favicon.ico (nameOfBashAlias)>:/public_html/mySite/templates/blog/
Run Code Online (Sandbox Code Playgroud)
我没有让上面的代码工作。
小智 26
我不建议您使用 Bash 别名来完成您要完成的任务。您只需将所有信息输入 SSH 的配置文件即可完成。ssh_config如果您好奇这些来自哪里,请阅读手册页。你可以做一些整洁的事情ssh_config
该文件位于此处 ~/.ssh/config
使用您喜欢的编辑器并创建文件,然后根据您的情况进行调整。
Host nameOfBashAlias
HostName 11.11.11.11
User myUsername
Port 22
Run Code Online (Sandbox Code Playgroud)
您现在已设置为发出以下命令:
$ ssh nameOfBashAlias
Run Code Online (Sandbox Code Playgroud)
我敢打赌你不知道这一切是多么的整合。现在你有了这个设置,下面的命令也可以工作
$ scp /some/file nameOfBashAlias:/path/to/storage/location/
Run Code Online (Sandbox Code Playgroud)
不再记得 scp 使用“-P”作为端口而 ssh 使用“-p”。此外,这个“别名”也适用于像 Transmit 这样的 OS X gui 应用程序。
OpenSSH 按以下顺序从以下来源获取配置数据:
~/.ssh/config/etc/ssh_config小智 5
scp不运行 bash。你需要运行这个:
scp ~/Desktop/favicon.ico 11.11.11.111:/public_html/mySite/templates/blog/
Run Code Online (Sandbox Code Playgroud)
如果您拥有的只是别名而上述代码对您来说是不可能的,请考虑像这样运行它:
nameOfBashAlias cat /public_html/mySite/templates/blog/ > ~/Desktop/favicon.ico
Run Code Online (Sandbox Code Playgroud)
通过这种方式,您实际上是在调用ssh文件内容并将其定向到磁盘上的文件。这可以写成上传的另一种方式。