by Nico Golde <nico/at/ngolde.de>
��������:
���� Nico ����һ��ѧ��������ǰ����ʼ���� Linux��
���μ��˺ü�����Դ��Ŀ��
Ŀ¼:
|
��ɫ�������� ���� ʹ�� ANSI ɫ�ʴ���
ÕªÒª:
�� ANSI �����նˣ����� xterm��rxvt��konsole �ȣ��
�����ò�ɫ��ʾ�ı����������Ǻڰס�
����ʾ�������ʹ�ô���Ͳ�ɫ�����֡�
_________________ _________________ _________________
|
����
����ʵ�����У�ÿһλ Linux ʹ���߶�Ҫ��� Bash��
��Ȼ��һ�ۿ���ȥ�dz���������ֺܶ෽���ܹ������ shell �㹻�ĸ��Ի���
shell ��ʾ���IJ�ɫ��ǿ���ܹ������ shell ��һ�޶���
���һ��dz������׶���
�ڱ��������� Bash shell Ϊ������Ϊ�ڲ�ͬ���ն����ת�����в���ȫ��ͬ��
�����ڱ�������ʹ�õ��� ANSI �նˡ�
Shell ������
shell ��ɫ���ó����� bash �ĸ��������ļ� ~/.bashrc
������ȫ�������ļ� /etc/bashrc ���档
����ͨ�� bashrc ����� PS1 ������������ʾ������ۡ�
ͨ������£������Ŀ������Ӧ����������ӣ�
~/.bashrc: PS1="\s-\v\$ "
\s ��ʾ shell �����ƣ�-\v ��ʾ���İ汾�š�
����ʾ������������Ƿ�����һ�� $������������Ҳ���е㷦ζ��
���Բ���������������ģʽ��������ģʽ�ڴ���� Linux
�ķ��а汾����Ĭ�ϵ����ã�
~/.bashrc: PS1="\u@\h \w \$ "
|
���ʾ �û�@ ��ǰĿ¼ $������Ǵ󲿷� Linux �û�����Ϥ�� shell ��ʾ����
ת������
Ҫ��ͨ����ɫ����ʾ�������Ӹ��Ի�����Ҫ�õ�ת�����С�
ת�����о���һ���� shell ִ��һ�����ⲽ��Ŀ���ָ�
ת������ͨ�������� ESC ��ͷ����Ҳ����������Ô�ò£©¡ï¿½
�� shell ���ʾΪ ^[�����ֱ�ʾ����Ҫһ��ʱ��ȥ��Ӧ��
Ҳ������ \033 �����ͬ�Ĺ�����ESC �� ASCII ����ʮ���Ʊ�ʾ���� 27��
= �ð˽��Ʊ�ʾ�� 33����
Ҫֱ���� shell ��������ת������������Ҫ�Ȱ� ctrl-v��CTRL-v ESC��
ʹ�� shell ����ɫ
��������һ����ʾ�������������� shell ����ɫ��
~/.bashrc: PS1="\[\033[0;32;40m\u@\h:\w\$ \]"
������ʾ����ȫ����ʾ����ɫ�ˡ�����������
\033 ������ת�����еĿ�ʼ��Ȼ���� [ ��ʼ������ɫ��
����� 0 ������Ĭ�ϵ�������ȡ��Ժ��һ���������Ŀ����ַ���
ת�������ַ���Ҫ�� \[ �� \] ��������
��ֹת�����е��ı���ʾ�� shell ��ռ��̫��Ŀռ䡣
��������Ҫѡ��ǰ��ɫ�������� 32��������ɫ��������ɫ�� 40 ��ʾ��ɫ��
Ҫ�Dz�������ʾ�����������Ҳ�����ɫ�������� \033[0m �ر�ת�����У�
\033[0m �� shell ��Ĭ����ɫ��ǰ��ɫ�ͱ���ɫ���� 8 �ֿ��õ�ѡ��
��ѡ��ɫ����ɫ����ɫ����ɫ����ɫ����졢��ɫ�Ͱ�ɫ��
���Ƕ�Ӧ����ɫ�����ǣ�30����ɫ����31����ɫ����32����ɫ����
33����ɫ����34����ɫ����35����죩��36����ɫ����37����ɫ����
��ͬ��ɫ�������ñ���ɫ������Ҫ�ѵ�һ�����֡�3���滻�ɡ�4����
���� 40��41��42��43��44��45��46��47��
ʾ����
~/.bashrc: PS1="\[\033[0;37;44m\u@\033[0;32;43m\h:\033[0;33;41m\w$\033[0m\]"
���������һ���dz���ʵ���ʾ����
����ʹ�� export PS1="string" ��������Щ���ã�
�Ժ�����Ҫ����Щ����ת�Ƶ� .bashrc ���档
�����ҵ���ʾ����������������ӣ�
PS1="\[\033[1;34;40m[\033[1;31;40m\u@\h:\w\033[1;34;40m]\033[1;37;40m $\033[0;37;0m\] "
�ı�����
�ղ��ᵽ�ˣ��ڵ�һ��ת�����к���ġ�0������ʾ�����ı���Ĭ����ɫ���á�
�����ı�������˵����Щֵ��������ģ�0��1��22��4��24��5��25��7��27��
�ֱ��ʾ��Ĭ��ֵ�����塢�Ǵ��塢�»��ߡ����»��ߡ���˸������˸��
���ԡ��Ƿ��ԡ�
ͨ��������һ�ζ�С�Ľű������ǿ��Կ���ɫ����ϡ�
#!/bin/sh
############################################################
# Nico Golde <nico(at)ngolde.de> Homepage: http://www.ngolde.de
# Last change: Mon Feb 16 16:24:41 CET 2004
############################################################
for attr in 0 1 4 5 7 ; do
echo "----------------------------------------------------------------"
printf "ESC[%s;Foreground;Background - \n" $attr
for fore in 30 31 32 33 34 35 36 37; do
for back in 40 41 42 43 44 45 46 47; do
printf '\033[%s;%s;%sm %02s;%02s ' $attr $fore $back $fore $back
done
printf '\n'
done
printf '\033[0m'
done
��νű����Դ�
showansicol.tar.gz ���أ���ʽ�� tar.gz��
��һ������
�� shell ��������ɫ�������ܴ�������Ư������ʾ����
�ڱ�д����̨�����ʱ��Ҳ�dz����á�
����һ��Ҫʹ�ò�ɫ�ij���Ա���ͱ���Ҫʹ������ slang ��
ncurses �����ĵĿ⣬��ͨ��������ִ���ļ��Ĵ�С��
Ncurses ���Ż����ٵĶ������ն˵����͵����ơ�
C ����ʾ��
����ɫ��ӡ��Hello Word����
#include <stdio.h>
int main(void){
const char *const green = "\033[0;40;32m";
const char *const normal = "\033[0m";
printf("%sHello World%s\n", green, normal);
return 0;
}
����һ�����õ�ת�������� printf("\033[2J")������ system(clear)
��ɵĹ���һ�������ǿ��Բ���Ҫͷ�ļ� unistd.h��
ʹ��printf("\033[1K") ����ɾ��һ�С�
��ʼ���ű�ʾ��
����������� /etc/init.d �� init �ű��ɹ���ִ�к�
�õ�һ��Ư���ġ������׶�����ʾ��������һ���򵥵� '.'��
���ǿ�����һ�ε�ʹ��ת�����С�
����һ�� cron init script ��ժ¼��
#!/bin/sh
# Start/stop the cron daemon.
test -f /usr/sbin/cron || exit 0
case "$1" in
start) echo -n "Starting periodic command scheduler: cron"
start-stop-daemon --start --quiet --exec /usr/sbin/cron
echo "."
;;
��� cron �ű�ִ�гɹ��ͻ���ʾһ����㡣
������ [Ok] ����Щ��Ϣ�����ϲ�ɫ������ͨ���ı� echo
�ַ��������磺
#!/bin/sh
# Start/stop the cron daemon.
test -f /usr/sbin/cron || exit 0
case "$1" in
start) echo -n "Starting periodic command scheduler: cron"
start-stop-daemon --start --quiet --exec /usr/sbin/cron
echo "\[ \033[1;34;40m[ \033[1;32;40mOk \033[1;34;40m]\033[0m\]"
;;
���������Ӧ�õ����е� init�ű��Ϸdz��ķ�ʱ�䣬
����ʹ��ת������ \033 ���� ��Ϊ Ctrl-v ������Ϊһ���ַ��������ġ�
����
������κη���������������ȣ��뷢�ŵ���nico at ngolde.de����
��ÿ��ġ���
����ƪ���·�������
ÿƪ���¶��и��Եķ���ҳ�档�����ҳ����������ύ���ۣ�Ҳ���Բ鿴�������ߵ����ۣ�
<--, back to the index of this issue
2004-05-06, generated by lfparser version 2.46