Включите цвет вывода удара со сценарием Lua

Система. IO.File. Существует (соединяют каналом)

msdn

12
задан Wookai 11 November 2009 в 22:08
поделиться

2 ответа

lua -e "print ('Это красный -> \ 27 [31mred \ n')"

Обратите внимание на \ 27. Когда Lua видит \ , за которым следует десятичное число, он конвертирует это десятичное число в его эквивалент в ASCII. Я использовал \ 27 для получения символа ESC bash \ 033. Подробнее здесь .

15
ответ дан 2 December 2019 в 19:54
поделиться

Это, безусловно, можно сделать в Lua; Хитрость заключается в том, чтобы правильно подобрать escape-последовательность. Вы можете использовать string.char для вывода определенного значения ASCII:

$ echo -e '\E[37;44m'"\033[1mHello\033[0m" #  white on blue
Hello   
$ echo -e '\E[37;44m'"\033[1mHello\033[0m" | xxd # check out hex dump of codes
0000000: 1b5b 3337 3b34 346d 1b5b 316d 4865 6c6c  .[37;44m.[1mHell
0000010: 6f1b 5b30 6d0a                           o.[0m.
$ lua -e "for _,i in ipairs{0x1b,0x5b,0x33,0x37,0x3b,0x34,0x34,0x6d,\
0x1b,0x5b,0x31,0x48,0x65,0x6c,0x6c,0x6f,0x1b,0x5b,0x30,0x6d,0x0a} \
do io.write(string.char(i)) end"  # prints out "Hello" in white on blue again
Hello
2
ответ дан 2 December 2019 в 19:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: