����� Nico Golde <nico/at/ngolde.de>
�� ������:
� ��������� ����� Nico �������� ���������. ��� ��������� ��� ��
�������� ���������� Linux, ��� �� ��������� ������� � ���������� ��������
Open Source.
������� �� �������:
�������� ������ <kirill(at)linuxfocus.org>
����������:
|
���������� ����� � Shell -- ������������� ����� ANSI
������:
�� 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\$ \]"
����������� ����� �������� ������� ������:
����������� ������������������ ���������� � \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\]"
���������� ������� �����������:
�������������� ��� ��������� ����� ������ 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' � ������ ������������������ ����������
��������� ��� ������ ����������� 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".
�����...
�������� �������
� ������ ������� ���� �������� �������. �� ���� �������� �� ������ ��������
���� ����������� ��� ����������� ����������� ������ ���������
<--, ������� � ��������� �������� �������
2004-05-05, generated by lfparser version 2.43