0

我正在编写一个 shell 脚本。它用于登录到另一个远程服务器检查文件是否存在,它不会创建,如果它没有任何反应。

我正在尝试通过 ssh -i private_key server_name 'script to create new file' 来做到这一点

在花了很长时间思考为什么它没有发生之后,它坚持认为我正在执行 ssh 的变量在它所在的服务器中将不可用。所以我必须传递一个变量。但我不能这样做。但是登录部分很流畅。

请帮忙。

4

2 回答 2

1

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

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

否则

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

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

于 2012-08-30T22:12:38.747 回答
0

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

"foo $bar baz"
'foo '"$bar"' baz'
于 2012-08-30T19:41:34.547 回答