0
此命令运行一个命令时遇到不按预期工作:与通过ssh
ssh [email protected]<machineIP> -- sh -c "echo \$\(cat /tmp/testfile\) > /testfile"
我的意图是到/ tmp/testfile的内容复制到/ testfile的。真的很简单。但是我发现/ testfile没有任何内容。该文件被创建(如果它不存在)。
如果从远程服务器上的命令行运行,echo命令正常工作(减去转义)。但在通过ssh运行时不起作用。本来我实际上有一个更复杂的命令与'sed',但简化了什么不工作。
远程和本地服务器都是CentOS7。我发现我不得不逃脱$和()。这是否导致我的问题?运行此命令的方式不正确吗?
是的,这个*是一个更好的东西的替身。我把它缩小到这块,并且很好奇,看看它是否会起作用,并且发现它没有。你的建议确实奏效!但我不记得为什么我改用“ - sh -c”。无论如何感谢您的快速反应(和正确的答案)。 –