Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在编写一个 shell 脚本。它用于登录到另一个远程服务器检查文件是否存在,它不会创建,如果它没有任何反应。
我正在尝试通过 ssh -i private_key server_name 'script to create new file' 来做到这一点
在花了很长时间思考为什么它没有发生之后,它坚持认为我正在执行 ssh 的变量在它所在的服务器中将不可用。所以我必须传递一个变量。但我不能这样做。但是登录部分很流畅。
请帮忙。
如果可以更新文件的修改时间:
ssh -i keyfile server "touch '$newfile'"
否则
ssh -i keyfile server "[ -f '$newfile' ] && touch '$newfile'"
假设您的登录 shell 是 Bourne 类型的 shell,这些应该可以工作。
使用双引号,或者如果某些部分需要单引号,请切换引号。
"foo $bar baz" 'foo '"$bar"' baz'