Сбой синтаксиса выражения сценария Bash в цикле - PullRequest
0 голосов
/ 05 марта 2019

У меня есть скрипт, который помещает вывод "df" в строку.Когда сценарий запускается один раз, все в порядке, но когда я помещаю его в цикл while, во втором запуске происходит сбой со следующей ошибкой.

cut: неверное значение поля '\ n2 \ n3 \ n4 \ n5\ n6 'Попробуйте' cut --help 'для получения дополнительной информации../getdata.sh: строка 248: 1 2 3 4 5 6% 6: синтаксическая ошибка в выражении (маркер ошибки "2 3 4 5 6% 6")

Фрагмент кода:

    PARTITION_RETURN_STRING=""
PARTITION_TEMP_STRING=""
for i in $(df | awk '{ print $6 }')
do
        if [ "$i" != "Mounted" ]; then
                for abc in $(seq 1 6)
                do
                        PARTITION_TEMP_STRING=$(df -m | awk -v bla=$i '$6 == bla' | tr -s ' ' | cut -d ' ' -f $abc)
                        PARTITION_RETURN_STRING="$PARTITION_RETURN_STRING$PARTITION_TEMP_STRING"
                        if [ "$(($abc%6))" = "0" ]; then
                                PARTITION_RETURN_STRING+="|"
                        else
                                PARTITION_RETURN_STRING+="#"
                        fi
                done
        fi
done

Похоже, что есть значение, которое используется при первом запуске и не сбрасывается при втором запуске, но я не могу понять это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...