Windows 10上的Cygwin bash脚本提供错误,信号规范无效:SIGTERM

时间:2018-01-18 05:35:07

标签: bash cron cygwin lftp

我已经用插件LFTP,bash,cygrunsrv和&安装了Cygwin。 cron的。尝试运行bash脚本后,我弹出了一些错误。许多其他人使用相同的脚本,所以似乎问题就在我的最后。

剧本:

[#!/bin/bash
login="xxxxxxxxx"
pass="xxxxxxxxx"
host="xxxxxxx"
remote_dir='/mnt/mpathi/xxxxxx/completed'
local_dir="/cygdrive/x/completed/"][1]

base_name="$(basename "$0")"
lock_file="/tmp/$base_name.lock"
trap "rm -f $lock_file; exit 0" SIGINT SIGTERM
if [ -e "$lock_file" ]
then
    echo "$base_name is running already."
    exit
else
    touch "$lock_file"
    lftp -p 22 -u "$login","$pass" sftp://"$host" << EOF
    set sftp:auto-confirm yes
    set mirror:use-pget-n 5
    mirror -c -P5 --log="/var/log/$base_name.log" "$remote_dir" "$local_dir"
    quit
EOF
    rm -f "$lock_file"
    trap - SIGINT SIGTERM
    exit
fi

在CHMOD 700之后运行脚本我收到以下错误:

$ sh syncfiles.sh
syncfiles.sh: line 7: $'\r': command not found
: invalid signal specification: SIGTERM
syncfiles.sh: line 26: syntax error near unexpected token `fi'
syncfiles.sh: line 26: `fi'

我还提供了代码图片以显示EOL。

https://i.stack.imgur.com/k0bK4.png

0 个答案:

没有答案