Назад | Перейти на главную страницу

Почему printf по-другому работает с sudo?

У меня есть простой скрипт для преобразования текстового файла с цветными escape-последовательностями в реальные символы. Он работает, если я запускаю его напрямую, но не с помощью sudo.

Чтобы настроить скрипты:

test.txt

\e[1;34mTEST\e[0m\n

test.sh (+ х)

printf "`cat $1`" > test.bin

Что тут происходит?

Ноты:

Пытаться sudo -i ./test.sh.

Я не знаю, есть ли особая потребность в том, чтобы строка с цветовой кодировкой была в отдельном файле, а затем записывала ее в другой, но следующее отлично работает без -i флаг:

#!/bin/bash
string="\e[1;34mTEST\e[0m\n"
printf "${string}"