是否可以通过shell脚本登录到远程计算机的特定文件夹: 而不是ssh然后cd。我可以在一个命令中完成吗? 是否可以一次性通过scp将文件复制到远程计算机的两个不同文件夹中?
答案 0 :(得分:1)
您可以将cp
命令传递给ssh,如下所示:
ssh user@host "cp /path/to/folder1/file /path/to/folder2"
或与cd
合并:
ssh user@host "cd /path/to/folder1; cp file /path/to/folder2"
答案 1 :(得分:1)
我认为没有真正的解决方案。如果你的shell是bash,你可以尝试ssh user@host bash -c "cd /tmp; bash -i"
。这看起来有点像它可以工作,但你很快就会发现它并没有真正起作用。 (尝试调用vi之类的编辑器,你会看到。)
您也可以将cd /tmp
放入远程端的~/.bashrc
。这样,ssh user@host
可以满足您的要求。但我想你想能够去不同的目录,所以这也不会飞。
我认为最好的方法是方便输入cd
命令,例如使用别名。然后输入就更少了。
答案 2 :(得分:1)
第一个问题最简洁的方法是期待:
#!/usr/local/bin/expect
spawn ssh user@host
expect -re {\$ $} ;# adjust to suit your prompt
send "cd some/dir\r"
interact
我不清楚您的第二个问题:您是否有2个要复制到本地计算机的远程文件,或者是否要将文件从一个远程目录复制到另一个远程目录?
scp user@host:/path/to/file1 user@host:/path/to/file2 .
ssh user@host "cp /path/to/file1 /path/to/folder2/"