🎨 Как изменить цвет вывода команды echo в Linux?
Хочешь добавить немного цвета в свои скрипты? Используй ANSI escape-коды, чтобы изменить цвет текста в терминале! Вот как это сделать:
Коды цветов:
- Черный:
- Красный:
- Зеленый:
- Коричневый/Оранжевый:
- Синий:
- Фиолетовый:
- Голубой:
- Светло-серый:
Пример использования:
Совет: Если используешь
Замечания:
- Используй кавычки, чтобы избежать расширения шаблонов.
- На MacOSX вместо
- Цвета зависят от конфигурации терминала, так что результат может различаться.
Теперь ты знаешь, как добавить немного цвета в свои скрипты! 🎨
Ветка: https://stackoverflow.com/questions/5947742/how-to-change-the-output-color-of-echo-in-linux
📩 Завтра: Неожиданные секреты Linux: 12 утилит, которые спасут твой сервер!
Включи 🔔 чтобы не пропустить!
____________________
Дополнительный материал:
🧠 - Освежаем Linux Skills: Как удалить особые режимы разрешений?
🧠 - Станьте мастером правописания в Linux с помощью команды Aspell
🧠 - Путь дистрибутивов на базе Gentoo от Calculate Linux до Sabayon
@LinuxSkill #echo #stackoverflow
Хочешь добавить немного цвета в свои скрипты? Используй ANSI escape-коды, чтобы изменить цвет текста в терминале! Вот как это сделать:
Коды цветов:
- Черный:
0;30
, Темно-серый: 1;30
- Красный:
0;31
, Светло-красный: 1;31
- Зеленый:
0;32
, Светло-зеленый: 1;32
- Коричневый/Оранжевый:
0;33
, Желтый: 1;33
- Синий:
0;34
, Светло-синий: 1;34
- Фиолетовый:
0;35
, Светло-фиолетовый: 1;35
- Голубой:
0;36
, Светло-голубой: 1;36
- Светло-серый:
0;37
, Белый: 1;37
Пример использования:
RED='\033[0;31m'
NC='\033[0m' # Без цвета
printf "I ${RED}love${NC} Stack Overflow\n"
Совет: Если используешь
echo
, добавь флаг -e
для обработки escape-последовательностей:echo -e "I ${RED}love${NC} Stack Overflow"
Замечания:
- Используй кавычки, чтобы избежать расширения шаблонов.
- На MacOSX вместо
\e
используй \x1B
.- Цвета зависят от конфигурации терминала, так что результат может различаться.
Теперь ты знаешь, как добавить немного цвета в свои скрипты! 🎨
Ветка: https://stackoverflow.com/questions/5947742/how-to-change-the-output-color-of-echo-in-linux
📩 Завтра: Неожиданные секреты Linux: 12 утилит, которые спасут твой сервер!
Включи 🔔 чтобы не пропустить!
____________________
Дополнительный материал:
🧠 - Освежаем Linux Skills: Как удалить особые режимы разрешений?
🧠 - Станьте мастером правописания в Linux с помощью команды Aspell
🧠 - Путь дистрибутивов на базе Gentoo от Calculate Linux до Sabayon
@LinuxSkill #echo #stackoverflow
Stack Overflow
How to change the output color of echo in Linux
I am trying to print a text in a red color in the terminal using echo command.
How can I do that?
How can I do that?
👍8🔥6
🚀 Как одна команда
Привет, повелитель терминала! Задумывался ли ты, почему простая команда
🌐 Источник: unix.stackexchange.com
____________________
Дополнительный материал:
🧠 - Станьте мастером Linux с нашим Бесплатным курсом от Нуля до DevOps
🧠 - Загрузочный диспетчер GRUB: Путешествие в глубины системы
🧠 - Персонализируй свой GRUB: Искусство загрузки с удовольствием
#инфографика@LinuxSkill #Linux@LinuxSkill #Bash@LinuxSkill #Echo@LinuxSkill #SIGPIPE@LinuxSkill #OpenSource@LinuxSkill
echo
ломает пайпы в LinuxПривет, повелитель терминала! Задумывался ли ты, почему простая команда
/bin/echo
может сломать пайп, а встроенная echo
в bash — нет? Давай разберёмся 👆🌐 Источник: unix.stackexchange.com
____________________
Дополнительный материал:
🧠 - Станьте мастером Linux с нашим Бесплатным курсом от Нуля до DevOps
🧠 - Загрузочный диспетчер GRUB: Путешествие в глубины системы
🧠 - Персонализируй свой GRUB: Искусство загрузки с удовольствием
#инфографика@LinuxSkill #Linux@LinuxSkill #Bash@LinuxSkill #Echo@LinuxSkill #SIGPIPE@LinuxSkill #OpenSource@LinuxSkill
👍3
🚨 НИКОГДА не редактируй bash-скрипт во время его выполнения!
Привет, повелитель терминала! 👋
Знаешь, что может превратить безобидный скрипт в оружие массового уничтожения данных? Всего одно неосторожное редактирование.
💣 Смотри, какая бомба:
Выглядит безопасно? Команда
⚡ Что происходит:
1. Запускаешь скрипт → bash начинает читать его частями
2. Меняешь
3. Сохраняешь файл → смещение байтов сбивается
4. BOOM! → bash читает
🔍 Доказательство через strace:
🛡️ Как защититься:
• Копируй скрипт перед редактированием
• Останови выполнение перед правками
• Используй блокировки файлов
• Тестируй на копиях важных скриптов
💡 Вывод
Bash читает скрипт блоками по 64 байта и отслеживает позицию. Удаление символов сдвигает содержимое, но не позицию чтения!
🌐 Источник: https://habr.com/ru/articles/500832/
____________________
Дополнительный материал:
🧠 - GRUB Files Unveiled: Путеводитель по конфигурационным файлам
🧠 - Как настроить автоматическое включение вашего компьютера с помощью RTC
🧠 - GRUB Rescue Ops: Как оживить систему, замершую на grub>
#Linux_Mastery #Linux #Bash #Security #DevOps #SysAdmin #ScriptSafety
Привет, повелитель терминала! 👋
Знаешь, что может превратить безобидный скрипт в оружие массового уничтожения данных? Всего одно неосторожное редактирование.
💣 Смотри, какая бомба:
#!/bin/bash
sleep 30
#rm -rf --no-preserve-root /
echo "Time's up!"
Выглядит безопасно? Команда
rm
закомментирована, скрипт просто ждёт 30 секунд. Но стоит тебе отредактировать его во время выполнения...⚡ Что происходит:
1. Запускаешь скрипт → bash начинает читать его частями
2. Меняешь
sleep 30
на sleep 3
в редакторе3. Сохраняешь файл → смещение байтов сбивается
4. BOOM! → bash читает
rm -rf /
вместо комментария🔍 Доказательство через strace:
# Открытие скрипта
openat(AT_FDCWD, "delay.sh", O_RDONLY) = 3
# Парсинг первой строчки (до 80 символов)
read(3, "#!/bin/bash\nsleep 30\n#echo \"Don'"..., 80) = 64
# Возврат к началу
lseek(3, 0, SEEK_SET) = 0
# Переключение на на файловый дескриптор 255
dup2(3, 255) = 255
# Чтение 64-байтового куска файла, чтобы получить команду
read(255, "#!/bin/bash\nsleep 30\n#echo \"Don'"..., 64) = 64
# Поместить курсор обратно в конец команды, которую мы собираемся выполнить
# Offset 21 is the `#`
lseek(255, -43, SEEK_CUR) = 21
# Приостановка выполнения, уход в sleep
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 2072
# До возвращения wait4 файл редактируется с `30` на `3`
# Чтение 64-байтового куска файла, чтобы получить следующую команду
# В этом демо я заменил опасную команду на echo
read(255, "echo \"Don't execute me\"\necho \"Ti"..., 64) = 42
# Bash решает выполнить оба echo одновременно без нового чтения
# Очевидно, что-то идёт не так
write(1, "Don't execute me\n", 17) = 17
write(1, "Time's up!\n", 11) = 11
# Чтение следующего фрагмента и обнаружение конца файла
read(255, "", 64) = 0
🛡️ Как защититься:
• Копируй скрипт перед редактированием
• Останови выполнение перед правками
• Используй блокировки файлов
• Тестируй на копиях важных скриптов
💡 Вывод
Bash читает скрипт блоками по 64 байта и отслеживает позицию. Удаление символов сдвигает содержимое, но не позицию чтения!
🌐 Источник: https://habr.com/ru/articles/500832/
____________________
Дополнительный материал:
🧠 - GRUB Files Unveiled: Путеводитель по конфигурационным файлам
🧠 - Как настроить автоматическое включение вашего компьютера с помощью RTC
🧠 - GRUB Rescue Ops: Как оживить систему, замершую на grub>
#Linux_Mastery #Linux #Bash #Security #DevOps #SysAdmin #ScriptSafety
Хабр
Осторожнее с редактированием bash-скриптов
Предположим, я написал такой bash-скрипт с названием delay.sh . Как думаете, что он делает? #!/bin/bash sleep 30 #rm -rf --no-preserve-root / echo "Time's up!" Похоже, он ожидает 30 секунд,...
👍21