首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sed在远程计算机上不工作

sed在远程计算机上不工作
EN

Stack Overflow用户
提问于 2013-08-19 18:24:36
回答 1查看 329关注 0票数 1

我尝试在远程服务器上运行脚本,如下所示:

代码语言:javascript
复制
ssh root@cnc-02 'bash -c "
      echo $SHELL;
      cd /home/bldadmin/patch;
      pwd;
      echo '$int_ver_cnc';
      echo '$rev_ver_cnc';
      echo '$pre_ver_cnc';
      cp -Rf RP_'$pre_ver_cnc'-'$int_ver_cnc' RP_'$int_ver_cnc'-'$rev_ver_cnc';
      cd /home/bldadmin/patch/RP_'$int_ver_cnc'-'$rev_ver_cnc'/CSCONsap/data/twoway/manual;
      rm rulePkg.zip;
      mv cncrules-CNC60Test-1.48.0-1.49.0.zip rulePkg.zip;
      cd /home/bldadmin/patch/RP_'$int_ver_cnc'-'$rev_ver_cnc';
      find . -name install.sh.orig;
      sed -e 's/^\(patchid=\)\(.*\)/\1\"1.47.0-1.48.0\"/g' -e 's/^\(fromVersion=\)\(.*\)/\1\"1.47.0\"/g' -e 's/^\(toVersion=\)\(.*\)/\1\"1.48.0\"/g' install.sh.orig >newfile.sh.orig;
"'

这是我在本地机器上的脚本。它将通过SSH连接到远程计算机并执行一系列命令。所有命令都在执行,但sed不工作。我得到了下面的错误

代码语言:javascript
复制
"bash: -c: line 14: syntax error near unexpected token `(' bash: -c:
line 14: `      sed -e s/^(patchid=)(.*)/11.47.0-1.48.0/g -e
s/^(fromVersion=)(.*)/11.47.0/g -e s/^(toVersion=)(.*)/11.48.0/g
install.sh.orig >newfile.sh.orig;' "

sed命令在本地执行时工作正常,我不知道我错过了什么?

EN

回答 1

Stack Overflow用户

发布于 2013-08-19 18:49:21

将脚本保存到文件script.sh (使用合理的描述性名称)中,然后运行:

代码语言:javascript
复制
$ ssh root@cnc-02 'bash -s' < script.sh
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18311487

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档