我正在开发一个shell脚本。它用于登录到另一个远程服务器,检查文件是否存在,它不会创建,如果它没有发生任何事情。
我试图这样做, ssh -i private_key server_name'用于创建新文件的脚本'
在花了很长时间思考它为什么没有发生之后,我们记住,我在做ssh的变量将不会出现在它所服务的服务器上。所以我必须传递一个变量。但我不能这样做。但登录部分很顺利。
请帮忙。
答案 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'