gpt4 book ai didi

bash - 收到错误 EOF : Command no found when using ssh

转载 作者:行者123 更新时间:2023-12-02 14:18:21 28 4
gpt4 key购买 nike

我正在尝试重命名远程服务器中的文件名,如 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:Command not found并且 scp 不工作(无法复制到调用服务器)

最佳答案

分隔符前有一个空格 EOF .不要缩进 EOF在“此处文档”的末尾。分隔符 ( EOF) 必须是行中唯一的内容,没有前导或尾随空格。

或者使用 <<- 'EOF'并用制表符缩进。

关于bash - 收到错误 EOF : Command no found when using ssh,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50990079/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com