无法在 Bash 脚本中的循环内增加变量

无法在 Bash 脚本中的循环内增加变量

我在 Ubuntu 18.04 中运行一个 bash 脚本。该脚本需要运行 python 脚本 10 次。我做了以下testbash.sh脚本:

#!/bin/sh
count=1
while [ $count -le 9 ]
do
python /home/e/Documents/codemycode/test.py
((count++))
echo $count
done

这会产生错误:

./testbash.sh: 5: ./testbash.sh: count++: not found

我还尝试用以下方法替换 ((count++):

count = $(expr $count+1)

但也没有成功。

答案1

您当前的舍邦指定sh为解释器。((count++))在 中不起作用sh,但在 中起作用bash。将 shebang 更改为

#!/bin/bash

支持以下语法sh

count=$(($count+1))

甚至

count=$((count+1))

据我所知,这是一种可移植(POSIX)的方式。

相关内容