Linux 不明确的重定向错误:远程执行命令

Linux 不明确的重定向错误:远程执行命令,linux,shell,Linux,Shell,我正在尝试远程执行命令。该命令在本地服务器上运行良好。但是,当远程运行时,它会抱怨重定向不明确。你能帮我修一下吗 该命令在本地计算机上运行良好,如下所示: echo '{"service": {"name": "$service", "port":443, "check":{"script":"curl '"$NODE_IP:443"' >/dev/null 2>&1","interval":"10s"}}}' | tee /etc/module/test.json

我正在尝试远程执行命令。该命令在本地服务器上运行良好。但是,当远程运行时,它会抱怨重定向不明确。你能帮我修一下吗

该命令在本地计算机上运行良好,如下所示:

    echo '{"service": {"name": "$service", "port":443, "check":{"script":"curl '"$NODE_IP:443"' >/dev/null 2>&1","interval":"10s"}}}' | tee /etc/module/test.json
我将上述命令存储在一个变量中

    command="echo '{"service": {"name": "$service", "port":443, "check":{"script":"curl '"$NODE_IP:443"' >/dev/null 2>&1","interval":"10s"}}}' | tee /etc/module/test.json"
然后执行它:

    remoteExecute $remotehost $command
  • remoteExecute是我们编写的一个函数

    • 报价有一些问题

      command="echo '{"service": {"name": "$service", "port":443, "check":{"script":"curl '"$NODE_IP:443"' >/dev/null 2>&1","interval":"10s"}}}' | tee /etc/module/test.json"
      
      请试试下面的一个

      command='echo '\''{"service": {"name": "$service", "port":443, "check":{"script":"curl '\''"$NODE_IP:443"'\'' >/dev/null 2>&1","interval":"10s"}}}'\'' | tee /etc/module/test.json'
      
      将其放在脚本中并回显,表明命令变量保存了您想要的内容

      #!/bin/bash
      command='echo '\''{"service": {"name": "$service", "port":443, "check":{"script":"curl '\''"$NODE_IP:443"'\'' >/dev/null 2>&1","interval":"10s"}}}'\'' | tee /etc/module/test.json'
      echo "$command"
      
      linux:~/Tst> ./test.sh 
      echo '{"service": {"name": "$service", "port":443, "check":{"script":"curl '"$NODE_IP:443"' >/dev/null 2>&1","interval":"10s"}}}' | tee /etc/module/test.json
      

      你确定它在本地服务器上工作吗?echo“{”service:{”name:“$service”,“port”:443,“check:{”script:“curl\”“$NODE\u IP:443”\>/dev/null 2>&1”,“interval:“10s”}}}}tee/etc/module/test.jsonYes它确实是Sridharan。试试我刚才发布的命令吧!您发布的命令在本地节点上不起作用。您希望在远程节点上执行的命令是什么?谢谢。它在本地运行良好,但当我远程执行同一命令时失败。我想从echo开始远程运行完整命令。命令echo的输出是我想要“tee”到一个文件的内容。bash:-c:第0行:在查找匹配的`''bash:-c:第1行:语法错误:意外的文件结尾您可以向我们展示
      remoteExecute$remotehost$命令的实现