timelapse照片缝合的Shell脚本不起作用

timelapse照片缝合的Shell脚本不起作用,shell,unix,parameters,cygwin,imagemagick,Shell,Unix,Parameters,Cygwin,Imagemagick,首先,我对一般的脚本编写和编码是相当陌生的。请耐心等待我的理解 小背景: 我在网上找到了两个shell脚本(UNIX),用于我正在处理的timelapse照片项目。脚本应该从每个图像上切下一个垂直条带,然后将所有条带缝合到一个图像上。因为我使用Windows,所以我在cygwin中运行脚本 我的问题: 这两个脚本都不适合我。他们两个都应该这样做。它们只是做这项工作的不同方式。但我似乎无法让它发挥作用。我总是收到错误“未找到事件”(版本1)或“Ivalid参数”(版本2)。我已经修改了代码,以适应

首先,我对一般的脚本编写和编码是相当陌生的。请耐心等待我的理解

小背景: 我在网上找到了两个shell脚本(UNIX),用于我正在处理的timelapse照片项目。脚本应该从每个图像上切下一个垂直条带,然后将所有条带缝合到一个图像上。因为我使用Windows,所以我在cygwin中运行脚本

我的问题: 这两个脚本都不适合我。他们两个都应该这样做。它们只是做这项工作的不同方式。但我似乎无法让它发挥作用。我总是收到错误“未找到事件”(版本1)或“Ivalid参数”(版本2)。我已经修改了代码,以适应我的图像分辨率,并正确确定切片的宽度和高度

脚本:

第2版:

tmpdir=tmp
if [ -d "$tmpdir" ]; then
  rm -rf $tmpdir
fi
mkdir $tmpdir
height=2592
width=10
n=0
for f in *.jpg
do
  offset=$(($n*$width))
  c="$(printf "%05d" $n)"
  echo "Creating slice $tmpdir/$c.png"
  convert -crop ${width}x${height}+${offset}+0 $f $tmpdir/$c.png
  n=$(($n+1))
done

count="$(ls -1 $tmpdir | wc -l)"
echo "Joining $count slices into out.png"
montage $tmpdir/*.png -mode concatenate -tile ${count}x out.png

谁能帮帮我吗


提前谢谢

该命令使用
由shell解释。改为输入一个文件,然后再试一次。@devnull你是说这里吗?“107x2385!”?我已经删除了。然后我得到“invalid parameter”。您的错误消息表明您正在shell提示符上执行命令。将它们放在一个文件中,比如说
time.sh
,然后通过说
bash-time.sh
执行。显然,不需要删除任何内容,因为这些是命令的参数。@devnull现在我得到@user2688514:文件中的尾行字符错误。您可能使用过Windows编辑器,它使用CR LF端点,而Unix系统使用LF端点。shell向您显示意外字符
$'\r'
,这是一种在bash中表示CR字符的方法(可能是您正在使用的shell)。要获取英文错误消息,请在运行其他命令之前使用:
export LC_ALL=en_US.UTF-8