簡體   English   中英

sed在遠程計算機上不起作用

[英]sed not working on remote machine

我正在嘗試像這樣在遠程服務器上運行腳本:

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無法正常工作。 我收到以下錯誤

"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命令在本地執行時工作正常,我不知道我缺少什么嗎?

將腳本保存到文件script.sh (使用明智的描述性名稱)中,然后運行:

$ ssh root@cnc-02 'bash -s' < script.sh

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM