#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. О. Спасибо, я посмотрю