在远程unix服务器上运行命令

时间:2012-08-30 19:35:12

标签: shell unix

我正在开发一个shell脚本。它用于登录到另一个远程服务器,检查文​​件是否存在,它不会创建,如果它没有发生任何事情。

我试图这样做, ssh -i private_key server_name'用于创建新文件的脚本'

在花了很长时间思考它为什么没有发生之后,我们记住,我在做ssh的变量将不会出现在它所服务的服务器上。所以我必须传递一个变量。但我不能这样做。但登录部分很顺利。

请帮忙。

2 个答案:

答案 0 :(得分:1)

如果可以更新文件的修改时间:

ssh -i keyfile server "touch '$newfile'"

,否则

ssh -i keyfile server "[ -f '$newfile' ] && touch '$newfile'"

假设您的登录shell是Bourne类型的shell,那些应该可以工作。

答案 1 :(得分:0)

使用双引号,或者如果某些部分需要单引号,请切换引号。

"foo $bar baz"
'foo '"$bar"' baz'