it-swarm.cn

如何使用Shell脚本通过SSH删除远程计算机上的文件?

我正在编写一个Shell脚本,其中必须通过Shell脚本删除远程计算机上的文件。

手动流程:

ssh [email protected]

..然后在域:

cd ./some/where
rm some_file.war

如何完成这项任务?

34
mico

您可以通过将ssh客户端附加到ssh命令来传递命令来执行,以代替启动Shell。

ssh [email protected] 'rm /some/where/some_file.war'

您不必cd到某个位置即可删除某些内容,只要您指定完整路径即可,因此可以跳过另一个步骤。

下一个问题是身份验证。如果仅运行该命令,则将提示您输入密码。如果您不想以交互方式输入此密码,则应设置公共密钥身份验证。

53
Caleb

如果您希望使用Sudo删除远程文件,则需要执行以下操作:

ssh -tt [email protected] 'stty raw -echo; Sudo rm /path/to/file' < <(cat)

详细信息

4
Vladislav Rastrusny

Ssh命令具有命令参数(命令中的最后一个参数),可用于运行远程命令。

2
Scott C Wilson

设置无密码密钥,然后将该命令添加为ssh命令的一部分。参见: http://www.dotkam.com/2009/03/10/run-commands-remotely-via-ssh-with-no-password/

1
laebshade