Linux - Script Shell e Texto Colorido

1

De minha postagem mais recente: (https://stackoverflow.com/questions/15046851/ linux-colorizing-text-in-files) Agora posso colorir o texto na minha janela de terminal. (usando echo )

Agora eu estou no ponto que gostaria de executar um Shell Script que irá sobrescrever meu /etc/issue sempre que eu decidir executar meu script de shell.

Aqui está o meu script:

#!/bin/sh
# re-write /etc/issue
echo "Welcome Back!........whatever message I will put later on" > /etc/issue

Então, agora eu estou olhando para colorir o texto "Welcome Back!"

De acordo com o This Site , preciso Escape dos códigos de cores usando Ctrl + V + ESC Mas como fazer isso dentro de um script de shell, com o objetivo de reescrever o /etc/issue ?

Eu copiei e colei o exemplo do autor (rc.issue) que ele dá. De fato, o arquivo /etc/issue é reescrito na inicialização, mas não em cores. Apenas texto simples mostra.

Alguém pode me esclarecer sobre isso?

    
por coffeemonitor 24.02.2013 / 00:57

1 resposta

1

Uma maneira, que funcionará na maioria dos shells (não apenas bash ), é certificar-se de que o escape apareça no texto do shell script.

Se você usar vim , então você ainda precisará digitar Control-V Escape para inserir o escape, pois de outra forma as mudanças de escape do modo de inserção voltam ao modo de comando .

Outros editores podem ou não ter peculiaridades para tornar isso mais fácil - ou mais difícil.

Se você estiver usando bash e não se importar com a portabilidade, existem outras opções disponíveis, usando a notação \e para o escape (consulte o manual bash em ANSI-C Quoting ). Por exemplo:

escape=$'\e'

Isso não funcionará com todos os outros shells, no entanto.

    
por 24.02.2013 / 01:02

Tags