簡體   English   中英

收到錯誤EOF:使用ssh時找不到命令

[英]Getting an error EOF : Command no found when using ssh

我正在嘗試重命名遠程服務器中的文件名,如filename-dirname.suffix並將文件復制到我的服務器。 我寫過類似...的代碼。

  #!/usr/bin/bash
  TRANSFERSERVERXMLS="/emp/transfer/XMLS"
  REMOTESERVERXMLS="remoteemp/empdir/XMLS"

  # renaming the filenames in remote server like filename-dirname.suffix  
  ssh abc@xyz REMOTESERVERXMLS=$REMOTESERVERXMLS 'bash -s'<< 'EOF'

  for i in $REMOTESERVERXMLS/* ; do 
     if [[ -d $i ]]; then
            dirname=$(basename $i)
                     for j in $REMOTESERVERXMLS/$dirname/* ; do

                               fname="$(basename "$j")"

                               prefix=$(echo $fname | awk -F "." 'NF{NF-=1};1')
                               suffix=$(echo $fname | awk -F "." '{print $NF}')

                               target=$prefix-$dirname.$suffix

                                mv $REMOTESERVERXMLS/$dirname/"$fname" $REMOTESERVERXMLS/$dirname/"${target// /_}"
                          done
    fi
  done
  EOF
 scp abc@xyz:${REMOTESERVERXMLS}/*/* ${TRANSFERSERVERXMLS}

收到錯誤消息:EOF:找不到命令,並且scp無法正常工作(無法復制到調用服務器中)

分隔符EOF之前有一個空格。 不要在“此處文檔”末尾縮進EOF 分隔符( EOF )必須是行中唯一的東西,沒有前導或尾隨空格。

或者使用<<- 'EOF'並在選項卡上縮進。

暫無
暫無

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

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