Это сводит меня с ума. Я думаю, что это связано с SynologyСравнение Shell не работает на Synology
Это выполняется на сервере Synology.
### VARIABLES ###
LOGIF=/volume7/homes/admin/scripts/data/achclean-logi.txt
HOWOLD=$(cat $LOGIF | wc -l)
# END DEFINITIONS
if ((${HOWOLD} >= 7)); then
echo -e "WORKS" >>
fi
Я получаю эту ошибку в терминале: имяскрипта: Номер строки: [Значение HOWOLD]: не найден
Если я бегу это на Linux, RedHat, она работает.
HOWOLD=$(cat dfile | wc -l)
if ((${HOWOLD} >= 2)); then
echo "WORKS"
fi
EDIT: NO УДАЧИ !!!!!!!!
if [ "$HOWOLD" >= "7" ]; then # if 7, then it's been 7 days!
ш: 7: неизвестный операнд
NO УДАЧИ !!!!!!!!
if (("$HOWOLD" >= "7")); then # if 7, then it's been 7 days!
имяскрипта: Номер строки: [Значение HOWOLD]: не найдены
и вы добавили отладки Постулаты как 'эхо "#dbg: HOWOLD = $ HOWOLD"' и распечатанный что? ;-) Удачи. – shellter
Кроме того, если вы используете '#!/Bin/sh' в качестве вашей строки« shebang », попробуйте использовать' #!/Bin/bash' (или ksh) и посмотрите, поможет ли это. Удачи. – shellter
Существует не bash, поэтому я использую sh. Я понял это и опубликую решение –