не удается увеличить переменную внутри цикла в сценарии bash

Я запускаю сценарий bash в Ubuntu 18.04. Скрипт должен запустить скрипт 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)

но также не был успешным.

16
задан user9371654
02.02.2023 0:15 Количество просмотров материала 2685
Распечатать страницу

1 ответ

текущего shebang указывает sh как переводчик. ((count++)) не работает sh, работает в bash. Измените shebang на

#!/bin/bash

следующий синтаксис поддерживается sh:

count=$(($count+1))

или даже

count=$((count+1))

насколько я знаю, это портативный (POSIX) способ.

1
отвечен Kamil Maciorowski 2023-02-03 08:03

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя

Похожие вопросы про тегам:

bash
bash-scripting
script
shell
shell-script
Вверх