[LinuxFocus-icon]
<--  | �����  | �����  | ������  | �����

������� | ������ | ������ | ��� LF
��� �������� �������� �� ��������� ������: English  ChineseGB  Deutsch  Francais  Nederlands  Russian  Turkce  Polish  

[Photo of the Author]
����� Nico Golde
<nico/at/ngolde.de>

�� ������:

� ��������� ����� Nico �������� ���������. ��� ��������� ��� �� �������� ���������� Linux, ��� �� ��������� ������� � ���������� �������� Open Source.



������� �� �������:
�������� ������ <kirill(at)linuxfocus.org>

����������:

 

���������� ����� � Shell -- ������������� ����� ANSI

ansi colors

������:

�� ANSI ����������� ���������� (����� ��� xterm, rxvt, konsole ...) ����� ����� ���� ��������� � �����. � ���� ������� �� � ��������� �� ����.

_________________ _________________ _________________

 

��������

� �������� ����� ������ ������������ Linux ��������� � ������� Bash. �������� ������� shell ����������, �� ��� ����� �������� � ������� ��� ����� ���������������. �������� ������ ����������� shell � �����.

� ���� ������� � ���� ������������ ������������� � Bash shell. ����������� ������������������ ����� ����������� � ������ ����������, �� ����� ������������� ANSI ��������.  

��������� Shell'�

��������� ����� ��� shell'� �������������� ����������� ������������� ����������������� ����� ~/.bashrc ��� ����������� ����� /etc/bashrc. ����������� shell'� ��������������� ���������� PS1 � bashrc.

� ����� ������ ��� �������� ��������� �������:
~/.bashrc: PS1="\s-\v\$ "
\s - ��� �������� shell'�, � -\v - ��� ������. � ����� �� ��������� ������ $. ����� �� ���� ������������� Linux ������������ ��������� �������:
~/.bashrc: PS1="\u@\h \w \$ "
�.�. - ������������ - ������� ������� � $.  

����������� ������������������

����� ���������� ����������� ����� ������������ ����������� ������������������ ��������, ������� �������� �� ��� ���� ��� ���������� shell'� ��������� �����-���� ��������. ����������� ������������������ ������ ���������� � ESC ( � shell'� ��� �������� ��� ^[ ��� \033 - ESC ��� 27 � ���������� � 33 � ����������������� ).

��� ������������� ����������� ������������������ ��������������� � shell'� ���������� ������� ������� ctrl-v: CTRL-v ESC.  

������������� ����� � Shell'�

���������� ������������� ����� �� ������� �����������.
~/.bashrc: PS1="\[\033[0;32;40m\u@\h:\w\$ \]"
����������� ����� �������� ������� ������:
nico@ebrain:~$

����������� ������������������ ���������� � \033, � [ ���������� ����������� �����. ����� 0 ���������� ������ ������ �� ���������, ������ ����������� ����� �����. ����� ������������� ����������� ����������� ������������������ �� ������� ���������� ��������� ������ � \[ � \].

����� ���������� ���� ������ ( � ����� ������� ��� 32 - ������� ). ���� ���� - 40 ( ������ ). ����� ����� ����� ����������� �� ��������� ������� ��������� ����������� ������������������ ��������� \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\]"

���������� ������� �����������:
nico@ ebrain: ~$

�������������� ��� ��������� ����� ������ 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\] "

[ nico@ebrain:~ ]
 

�������� ������

��� �� ������� ������, '0' � ������ ������������������ ���������� ��������� ��� ������ ����������� shell. ���������� ��������� ��������: 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
�� ������ ��������� ���� ������ tar.gz �����: showansicol.tar.gz  

��� ���� ����������

����������� ������������� ����� � shell'� ����� ������������ ��� ��������� ���������� ����������.

��� ������������� ����� � ����������� ���������� ������������ ����� ���������� ��� slang ��� ncurses, ��� �������� ������ ������������ �����. ���������� Ncurses ����� ������������ ������������� �� ���� ������������� ���������.  

������� �� C

���������� 'Hello World' ������� ������:
#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") ����� ������� ������.  

������� init-��������

���� �� ����� �������� �������, ������ �������� ������������� �������� 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 ����� �������� ������. ����� �������� ������� ������� 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\]"
    ;;
 

�������� �����

���������, ������ � �.�. ����������� �� ������ "nico at ngolde.de". �����...  

�������� �������

� ������ ������� ���� �������� �������. �� ���� �������� �� ������ �������� ���� ����������� ��� ����������� ����������� ������ ���������
 talkback page 

<--, ������� � ��������� �������� �������

Webpages maintained by the LinuxFocus Editor team
© Nico Golde, FDL
LinuxFocus.org
Translation information:
de --> -- : Nico Golde <nico/at/ngolde.de>
de --> en: Jürgen Pohl <sept.sapins(at)verizon.net>
en --> ru: �������� ������ <kirill(at)linuxfocus.org>

2004-05-05, generated by lfparser version 2.43