gpt4 book ai didi

bash - 在我的 bash 脚本中找不到 "let"命令

转载 作者:行者123 更新时间:2023-12-03 18:41:43 26 4
gpt4 key购买 nike

我有以下 bash 脚本,

#!/bin/bash
echo $SHELL

i=1
for img in ../img/*.png; do
echo $img
new=$(printf "../img/tmp/pyr%d.png" "$i")
echo $new
# cp "$img" "$new"
let i=i+1
done
# avconv -r 2 -i ../img/tmp/pyr%d.png -b:v 1000k ../pop_pyr.mp4

../img 文件夹中,有文件 pyr1920.png , pyr1925.png , ...

当我运行此脚本时,出现此错误
../img/pyr1920.png
../img/tmp/pyr1.png
make_video.sh: 10: make_video.sh: let: not found
../img/pyr1925.png
../img/tmp/pyr1.png

但是我将脚本粘贴到终端中,它运行良好。
../img/pyr1920.png
../img/tmp/pyr1.png
../img/pyr1925.png
../img/tmp/pyr2.png

我的环境是 ubuntu 14.04。我知道默认的/bin/sh 是破折号。我确保使用 bash 并通过 echo $SHELL 进行检查。

为什么它不能作为脚本工作,但在终端上工作正常?我试图找到一个解决方案,但我能找到的只是关于“破折号”和“bash”设置。

最佳答案

这样做:

i=$((i+1))

或者
i=$(expr $i + 1)

关于bash - 在我的 bash 脚本中找不到 "let"命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42393137/

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