Тема Дракулы в ubuntu linux

#linux #bash #themes

Вопрос:

Я использую тему дракула в ubuntu.

Я запустил программу на языке bashscript, но после ее выполнения она раскрасилась на следующей строке.

Я делаю какую-то ошибку или это связано с темой? Как я могу это исправить?

Вот код: bash.sh

 
#!/bin/bash

for i in {1..9}
do
        for j in {1..9}
        do
                total=$(( $i $j ))
                tmp=$(( $total%2 ))

                if [ $tmp -eq 0 ];
                then 
                        echo -e -n "33[47m  "
                else
                        echo -e -n "33[40m  "
                fi
        done
        echo ""
done
echo -e "n"

 

Выход

Комментарии:

1. Что вы подразумеваете под «это накладывается»? Это окрашивает приглашение? Вы должны сбросить использование tput sgr0 или что-то в этом роде printf '33[0;10m' .

2. Примечание: ваши тесты могут быть упрощены до if (((i j) % 2))

3. мой английский не очень хорош, вот почему я написал неправильно 🙁

4. @Guravsharma: В финале echo выводятся две пустые строки. Это намеренно?

5. @Gauravsharma Я не знаю, как ваш вывод связан с графом Дракулой — он выглядит для меня как шахматная доска, — но в целом это выглядит разумно. Что тебе в этом не нравится?

Ответ №1:

Да, это не связано с темой Дракулы.

После всех процедур с цветами необходимо сбросить цвета:

 echo -e "e[0m"
 

Итак, ваш код должен выглядеть следующим образом:

 #!/bin/bash

for i in {1..9}
do
    for j in {1..9}
    do
            total=$(( $i $j ))
            tmp=$(( $total%2 ))

            if [ $tmp -eq 0 ];
            then 
                    echo -e -n "33[47m  "
            else
                    echo -e -n "33[40m  "
            fi
    done

echo -e "e[0m"
 

Подробнее о цветах Bash вы можете посмотреть здесь.

Комментарии:

1. О. Спасибо, я посмотрю