4. ����� SHELL (���������� � ���������)

�� ����� shell ����� ������ ��������� ����� � � ������� ������� "chmod" ������ �� ������������. ����� ����� ��� �� ��� �� ���������� �� ������ ������ �� UNIX.

4.1. shell-����������

��� shell-���������� - ��� ������������ � ����� ������������������ ����, ���� � �������������.

�������� shell-���������� - ������ ��������.

��, ��� � shell ����� ��� ���� ������: ������ �������� � ��������� ����, � ����� �������, ��������� ����� ��������� � ���������������� �������� �������������, ������� ����� ����������������� �� ������������, � � ������ �������, �������� ����� ���������� ������� � ������ �������������, ��������� � ����������� �������� ������������ � ������� �������� �������� �������.

������ ��������� ��������� ��, ��� �������������� ������������, ���������� � "��������� ����" shell, ����� �� ��� ��������� �� ����� ��� �������, ��� �� ��, ��, ��� �������� ���������, � ���� ������� ��� ��������� �������� ���� �������, ��� ������������� �� ��. (�� ��� ��� ������ "������� ��������").

��� ���������� ���������� ������������� ������������� �� ��������������, �.�. ������ ����� ���� ������������������ ����, ���� � �������������, ������������ � ����� ��� �������������.

��� ������������ �������� ���������� ����� �������������� �������� ������������ "=".

    var_1=13 - "13" - ��� �� �����, � ������ �� ���� ����.
    var_2="�� UNIX" - ����� ������� ������� (" ") ����������, ��� ��� � ������ ���� ������.
�����: ������� �������� �� ��, ���, ��� ����������, ��� � �� �������� ������ ���� �������� ��� �������� ������������ ������� "=". ������, ��� ����� �� ��������, ������ ������ � ��������� ������ ����� ������ �� ������ ��� �������, �� � ������������ �������� ����������. �� ���� ��� ��� � ������� ������� � ������������� ������ �������� ������� (�������������������) ������� "=".

�������� � ���� ������� ������������ �������� shell-����������. ��� �������� ������,

    DAT=`date`

�������� � ����, ��� ������� ����������� ������� "date" (�������� ������� ������� � ���, ��� ������� ������ ���� ��������� ����������� � ��� �������), � ��������� �� ����������, ������ ������ �� ����������� �����, ������������� � �������� �������� ����������, � ������ ������ "DAT".

����� ��������� �������� ���������� � � ������� ������� "read", ������� ������������ ����� �������� ���������� � (����������) ������� � ���������� ������. ������ ������� "read" � ��������� ����� ������������ ������� "echo", ������� ��������� �������������� ������ �����-�� ��������� �� �����. ��������:

    echo -n "������� ����������� �����:"
    read x

��� ���������� ����� ��������� ���������� �����, ����� ������ �� ����� ���������

    ������� ����������� �����:

������������� ����������� � ����� ����� ����� �������� � ����������. ���� �� �����, ������, "753" �� ��� � ������ ��������� ���������� "x".

���� ������� "read" ����� ��������� (���������) �������� ����� ��� ���������� ����������. ���� ���������� � "read" ������, ��� �� ������� (����� �������), ���������� ������������� ������ ������. ���� ������������ �������� ������, ��� ���������� � ������� "read", �� ������ ������������.

��������������. �� ����� ���� ������������� ��� ����������� ������ ���� ���� ������� ������� . ��������� ���� ����� �������������� �� �� ��� �����, � ��� ������������������ ��������(!). ������������� �� ���������, ��� �� �����. ������� � �������� �������� ���������� ����� ��������� ����� ��������� ����������� ��� ������ ������� , ��� �������� ������ ������. (��� ����������� �������� ������� ����� ������� �������� ���� �������).

��� ��������� � shell-���������� ���������� ����� ������ ������� ������ "$". ��� �������

    echo $var_2
    echo var_2

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

    �� UNIX
    var_2

� ��� ���� ������. �������� ���������� �����:

    echo "var_2 = $var_2"

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

    var_2 = �� UNIX

� ������� "echo" ������ ������������� "var_2" - ��� ������ �����, � ������ ("$var_2") - ��� �������� ��������������� ����������.

�� ��� ����� ������������ ������� ����� ������ ���������� � �������� ������������, � ����� ����� �������� ������������ � ���������, ��� ��� ������, ��� ����� �� ����� ���� ���� � �������, ���� ����������� �������� ����������. ���, ��� ������������� ����������� ������������, ������� � ���� ������ �����������. ������������, ������, w= �������� ������������ ���������� "w" ������ ������. �� � ������ ������ ����� ����������� ���������, �������� w="".

��� ����, ����� ��� ���������� �� ��������� �� �������, ��������� �� ������ ����������, ������������ �������� ������.

����� a=/mnt/lab/asu/
�����

    cat /mnt/lab/asu/prim

    cat ${a}prim

���������� (�.�. "cat" ������ �� ����� ���������� ������ � ���� �� �����).

���� ����� ������������, ��� � ������� ���� ���������� "prim" � "prim=dir" , �� �������

    echo ${a}$prim

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

    /mnt/lab/asu/dir

4.2. �������������

���������� ����� �������� ������ �������������, ������������ � shell. � �������� ������� ������������� ������������ ������� ������� (" "), ��������� ������� (' ') � ���-���� (\).

�� �������� �������� �� ��������:

����� � ����� ������ ���������� ��������� ���c��������.

    x=22 y=33 z=$x
    A="$x" B='$x' C=\$x
    D="$x + $y + $z"  E='$x + $y + $z'  F=$x\ +\ $y\ +\ $z

(������������ G=$x + $y �� ���� �� ��������� ��-�� ��������)
�����

    echo A = $A   B = $B   C = $C
    echo D = $D   E = $E   F = $F
    eval echo evaluated A = $A
    eval echo evaluated B = $B
    eval echo evaluated C = $C

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

    A = 22 B = $x C = $x
    D = 22 + 33 + 22 E = $x + $y + $z F = 22 + 33 + 22
    evaluated A = 22
    evaluated B = 22
    evaluated C = 22
��������. � ���� ��������� ������� ������������ ������������ ������� "eval" (�� evaluate - ����������), ������� � ������������� � ��� (� �������� ���������) ������� ��������� ����������� ���������� (���� ������� �������). � ���������� �������� "A" �������� �������, ��������� "A" ����� �������� "22". � ���������� "B" � "C" ����� �������� "$x". �� ���� �����������, ������� ���� ��������� �������� "eval" - evaluated "B" � "C" ���� �������� "22".

��� ���� ������ �� "eval".

�����

    w=\$v v=\$u u=5

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

	       echo $w
	  eval echo $w
    eval eval echo $w

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

    $v
    $u
    5

�������� ��� �������, ��������� � �������������� �������� ������. ����� ���������� "string" ��������� �������� "�������" 2x3:

abc
def

������� ��������, ��� ��� ��������� ������������ ������ �������� ������ ������ ������� ������ � ������ ������� ��������� ������:

string="abc
def"

����� ��� �������� ������ ���������� � ������� "echo"

echo  $string
echo '$string'
echo "$string"

����� �������������� ��� ��������� ����������:

abc def
$string
abc
def

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

echo "������ ������
������ ������" > f1
echo '������ ������
������ ������' > f2
cat f1 f2

���� ������ ��������������� ���������� ����� f1 � f2:

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

������� �����, ��� ���-���� (\) �� ������ ���������� ��������� �� ��� ������, ��� ��������� ������������ ����������� ������� ������ ��� �������, �������������� ���� ���� (�� ����� ������������ � ��� ���� - \\), �� � ��������� ����� ���-���� ��������� ��'������� ������ � ���� (������������ ����� ������).

��������, ������������� ����� ������ ��������� ������:

    cat f1 | grep -h result | sort | cat -b > f2

����� ���� ������� � ��������� �����, ������, ���

    cat f1 | grep -h  \
    result | sort | cat -b > f2

������, ������ ����������� ��������� ������ ������������ � ������ ���������. � ������ ������ ��� ����� ���� ����� ����������� ���������, ��������:

    cat f1         |
    grep -h result |
    sort           |
    cat -b > f2

4.3. ����������� � shell-�����������

�������� �� ��, ��� shell-���������� � ����� ������ �������������� ��� ������, �. �. "35" - ��� �� �����, � ������ �� ���� �������� "3" � "5", � ���� ������� ��� ����� ������������������ �����, ��������, ��� ����� �����.

������������� ����������� ����� ������� "expr".

��������������� ��������� �� ��������:

���������� ���������� �����:

    x=7 y=2
    a=`expr $x + $y`   ; echo a=$a
    a=`expr $a + 1`    ; echo a=$a
    b=`expr $y - $x`   ; echo b=$b
    c=`expr $x '*' $y` ; echo c=$c
    d=`expr $x / $y`   ; echo d=$d
    e=`expr $x % $y`   ; echo e=$e

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

    a=9
    a=10
    b=-5
    c=14
    d=3
    e=1
��������. �������� ��������� ("*") ����������� ������ ���� ��������������, ��������� � shell ���� ������ ��������������, ��� ����������, ����������, ��� �� ��� ����� ����� ���� ����������� ����� ������������������ ��������.
������� �������� ����� �������� �� ������������ �������, ���������� ���������� � ����� ��������.

� �������� "expr" �������� �� ������ (�������������) �������������� ��������, �� � ���������:

    A=`expr 'cocktail' : 'cock'`  ; echo $A
    B=`expr 'cocktail' : 'tail'`  ; echo $B
    C=`expr 'cocktail' : 'cook'`  ; echo $C
    D=`expr 'cock' : 'cocktail'`  ; echo $D

�� ����� ����� �������� �����, ������������ ����� ����������� �������� � �������� (�� ������). ������ �� ����� �� ����� ���� ������� ������ :

    4
    0
    0
    0

� �������, �� �������� ������ ����������.

���� ����������, ������ "�", "y", "z", �� ����������, �� ��� ��������� � ����������

${x-new} � �������� �������� "x" ����� ������ "new",
${y=new} � �������� �������� "�" ����� ��������� "new",
${z?new} � �������� �������� "z" ����� ������ "z: new" �

��������������� ��������� ������������.

�� ���� ���� �������, ���� ���������� ���� � ����� ������� ����������, �� �� �������� ������������ ������� �������.

� � ��������� ������ ��������, ����� ���������� "v" ����� �����-�� ��������, �����

${z+new} � �������� �������� "z" ����� ������ "new", � ���� �� ���� ��������� ��������, �� ������ ������.

4.4. ������� ����������

� �� UNIX ���������� ������� ��������. ������� ��������� �����, ����� ����������� �� ���������� �����-���� ������� (������).

��������, ��� ������ �� ���������� "� <Enter>" ����������� ������� ������� "�". � ���� ������� "�" ����� �������� ������ ��������. ��������, ��� "�" �������� ������� "�1" � "�2", ������� ��������������� ��������� ��������������� ��������.

� ������� �������� ���� ���� ����� - ��������� ��������� ��� ����������. ��������, �� ������� ������� "�" ��� ������������ �����, � ������� ��� ���� ���������� ��������� ���������� (� ����������� ���������� ���� ������ ��������� �����). ������ "�" ��������� ����� �����; ��� � ��� ����� ��������� ������� "�1" � "�2".

���������� �������� � ������ ��������, � ������� ��� ���������, �.�. ��� �� ��������� �������� (�������� ���������� ����������� - ��� ��� ������ ����). ��� ����, ����� ��� ���� �������� � ������ ����������� ���������, ���� �������� �� ����� �������. ��� ����� ������������ ���������� ������� "export".

������.

����� ������ (��������� ����) "p", ������� ���:

    # ������ p
    echo ������ p
    varX=0 varY=1
    echo varX=$varX varY=$varY
    export varY
    p1  # ����� ������� p1
    p2  # ����� ������� p2
    echo ����� ������ p: varX=$varX varY=$varY

�������� ��������� ����� "p1" � "p2", ������� ���:

    # ������ p1
    echo ������ p1
    echo varX=$varX varY=$varY
    varX=a varY=b
    echo varX=$varX varY=$varY
    export varX
    # ������ p2
    echo ������ p2
    echo varX=$varX varY=$varY
    varX=A varY=B
    echo varX=$varX varY=$varY
    export varY

�� ����� ����� ������ ��������� ����������:

    ������ p
    varX=0 varY=1
    ������ p1
    varX= varY=1
    varX=a varY=b
    ������ p2
    varX= varY=1
    varX=A varY=B
    ����� ������ p: varX=0 varY=1

�� ������� �����, ��� �������� ���������� �������������� ������ � ���������� ������� (� �� ���������� "�����" � "����"). �������������� ���������� ����� � �������� "set" � ������ "-a".

�� ������ ������ �������, ��� �� �������� �������� ���������� �������� ������� �� ��������� "����������" �������� ������������ (������) �������� � �������� �������.

4.5. ���������

� ��������� ���� ����� ���� �������� ���������. � shell ������������ ����������� ��������� (�.�. ����������� ����������� �� ����������). � ��������� ����� ��������������� ���������� ���������� (���������� shell-����������) ���������� � ������� "$", � ����� ������� ���� �� ���� �� 0 �� 9:

����� ������ "examp-1" ���������� � ����������� "cock" � "tail". ��� ��������� �������� � ����� ����� ��� ������������ ������� "1" � "2". � (�����������) ���������� � ������ "0" ����� ��������� ��� ���������� �������.

��� ��������� � ���������� ����� ������ �������� ������ ������� "$" (��� � ��� ��������� � ����������):

$0 ������������� ����� ������� ���������� �����;
$1 ������ �� ������� ��������;
$2 ������ �������� � �.�.

����� ��������� ���� � ������ "examp-1" ����� ���

     echo ��� ������ $0:
     sort $2 >> $1
     cat $1

� ����� "cock" � "tail" �������� ��������������

cock:

��� ��������������� ����:

tail:
     1
     3
     2

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

     examp-1 cock tail

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

    ��� ������ examp-1:
    ��� ��������������� ����:
    1
    2
    3

��������� ����� ����������, � ������� ����� ������������ ���������, ���������� ����� ������, �.�. 9-� ("0", ��� ��� ���������� ����� ������ �����), �� ��� �������� �������� ����� ���������� ������������ ����������� ������� "shift".

���������� �� �������� �� �������.

����� ��������� ���� "many" ���������� � 13-� �����������

    many 10 20 30 40 50 60 70 80 90 100 110 120 130

� ����� ���

    ###
    # many: �������� �������� ����� ����������.
    echo "$0: ����� ����������"
    echo " ����� ����� ���������� = $#
    �������� ���������: $1 $5 $9 "
    shift
    echo "1 �����: ������=$1 �����=$5 �������=$9"
    shift 2
    echo "1 + 2 = 3 ������: ������=$1 �����=$5 �������=$9"
    perem=`expr $1 + $2 + $3`
    echo $perem

� ���������� ������� ���������� ������� "shift" ������ �������� ������� ���������� ��� $1, ������ �������� ���������� ��� $2, ... ������� ��������, ������� ��� ������� ����������, ���������� ��� $9. �� ���� ����������� ������ ��������!

����� ���������� ����� ������� �� ������ �����:

    many: ����� ����������
    ����� ����� ���������� = 13
    �������� ���������: 10 50 90
    1 �����: ������=20 �����=60 �������=100
    1 + 2 = 3 �����: ������=40 �����=80 �������=120
    150

������������ ������ � ���������� ���� ������� "set".

��������, �������� �������

    set a b �
    echo ������=$1 ������=$2 ������=$3

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

    ������=a ������=b ������=c

�.�. ������� "set" ������������� �������� ����������. ��� ������ ����� ������. ��������, ������� "date" ������ �� ����� ������� ����, ������, "Mon May 01 12:15:10 2000", ��������� �� ���� ����, �����

     set `date`
     echo $1 $3 $5

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

     Mon 01 2000

������� "set" ��������� ����� ������������ �������� ���������� ���������, ��������:

set -v �� �������� ��������� ������, �������� shell.
Set +v �������� ���������� �����.
Set -x �� �������� ��������� ������� ����� �����������.
Set +x �������� ���������� �����.

������� "set" ��� ���������� ������� �� �������� ��������� ����������� ����� (�� �����).

4.6. ����������� shell-��������������

����� ������� ���������������� ������������� � ����������� ������, ������������ � ��������� ������, shell ��������� ��������� ���� �����������:

  1. ����������� �����������. ����������� ��� �������, ����������� � �������� �������, � �� �� ����� ������������� ���������.
  2. ����������� �������� ���������� � ����������. �� ���� �����, ������������ �� "$", ���������� ���������������� ���������� ���������� � ����������.
  3. ������������� ��������. ���������������� ������� ������������.
  4. ��������� ���� ������. ����������� ����� �� ������� � ��� ������������ ("*", "?","[]") � ����������� ��������������� ���������.

4.7. ����������� �����

������ ������� ����� �����, � ������� �� �����������. Shell ���������� ��� ���������� ���� �����.

���� �� �������� ������� "set" ��� ����������, �� �� ����� ����� ������ ���������� � ���� ����������� ����������, ��������� ��� ����� � ������� (� ������������ ����� ���� ����� ����� ��������� "�� ����������"), � ����� ����������, ��������� � �������������� ������ ����������.

���������� ��� � ���������� ���������� ���������� � ������� ������� ������� �� ����, ����� ������ UNIX ������������ � ��� �������������� �������.

��� ���� ����� ����, ��� ������ ��� ������� "set":

    HOME=/home/sae
    PATH=/usr/local/bin:/usr/bin:/bin:.:/usr/bin/X11:
    IFS=
    LOGNAME=sae
    MAIL=/var/spool/mail/sae
    PWD=/home/sae/STUDY/SHELL
    PS1=${PWD}:" "
    PS2=>
    SHELL=/bin/bash
    TERM=linux
    TERMCAP=console|con80x25|dumb|linux:li#25:co#80::
    UID=501
    perem=stroka
    x=5

��������������� ��� ������������ �������� ����������.

HOME=/home/sae ��� ��� ��������� ����������, � ������� ������������ (� ������ ������ �) ����������� ����� ����� � �������. �� ����, ��������� ������ ��� � ������, � ������� � ���������� "/home/sae".
PATH=/bin:/usr/bin:.:/usr/local/bin:/usr/bin/X11 ��� ���������� ������ ������������������ ������ (�����), ������� ������������� "shell" � ������� �������. ����� ������ ����������� ����� �����������. ������������������ ��������� ������������� ����������� ���������� ���� � �����. �� ������������� ����� ���������� ����� ��� ���������� ���������� ������. � ����� ���������� ������ ������ �������� ����� ������������ �������, �������� "echo", "cd", "pwd", "date". ����� ����� ������� ������������� ���������� "/bin", � ������� ����� ���������� ������� "sh", "cp", "mv", "ls" � �.�. ����� ���������� "/usr/bin" � ��������� "cat", "��", "expr", "nroff", "man" � ������� �������. ����� ����� ���������� � ������� ���������� (".", ��� ������ ����������� "�����", �.�.""), ��� ������ ����� ��������� ���������� ���� ������� (�������).

����� ������ ��������� ������ � ������� <Enter> "shell" (����� ���������� ����������� �����������) ���������� ���, ��������������� ������� � ������������ �� ����� � �����������, ������������� � �����. ���� ������� ��������� ��� ���� �����������, ��� �� ����� �������. ���� ������������ ��������� ������ � ���������� ������, �� ������� ����� ��, ������� ����������� � ����������, ��������������� ������.

�����, ��� � ������ ����������, ����� ����� ������, ��������, ����������� ��� �������� ����������. (������, �������������� ����� �������� �� "���������" ����� ���������� � ������������).

IFS= (���������� ����������� �����) ����������� �������, ������� ������ ��� ���������� ���� (�����). �������� �������� "������", "���������" � "������� ������", ������� ����� ����� �� ������������ ������ �� ����� � ������ ��� ������.
LOGNAME=sae ��� ����� ("���" ������������).
MAIL=/var/spool/mail/sae ��� �����, � ������� ��������� (�����������) �����.
PWD=/home/sae/STUDY/SHELL ��� �������� ����������
PS1=${PWD}:" " ��� ��������. � ������ ������ � ��������� ����� ���������� ��� �������� ���������� ��������� � ������. �� ���� ����� ����� "/home/sae/STUDY/SHELL: ".
PS2=> ���� ������� (����� ">") ������������ ��� ����������� � ����������� ����� (� ��������� ������) ������������� �������. ��������, �������� ����������� ������ "(" � ����� ������� <Enter> � ��������� ������ �� ������� ���� ��������. ���� ���� �� ������, ��� ������ ������, �������� ����������� ������ ")" � �� ��������.
SHELL=/bin/bash ��� ���������� ��������� ��������, ������� ���������� ������������. � ������ ������ ������������ �� (�����������) shell ("sh"), � "�����������" ������ .
TERM=linux �������� ���� ���������. -"bash", ���������� ��� �� ������� (Bourne-Again SHell)

TERMCAP=console|con80x25|dumb|linux:li#25:co#80::

(TERMinal CAPacity) ��� (����� ������) ���������� ������ ������� ���������� ���������.

UID=501 ������������� ������������ (��� "501").
perem=stroka

x=5

����������, ������� ���� ������������.

�������� ����� ��������������� ������������� ��� ����� � ������� � �������������� ������ ���� "/etc/rc" � "/etc/.profile".

������ ���������. ���� �� �������� ������ ������� ����� (��������, ����� ������ ������, ��� ��������, ��� ��������, ���� ������ � �.�.) �����, ��������� ��� ���������� � ����� �������� ���������� � ������������������ ����� ".profile" (${HOME}/.profile), �������� ������ �������� ���������� �����. �� ���� ������� ��� ���� � �������� � ��������, ��� ���������). ����� ��� ������ ����� ����� � ������� ���� ���� ����� ������������� ����������� � ������������� ����� �����. ���� ���� ������ ����������� ����������� � ����� �������� ���������� (���������� �����).

���� �� ������ ��������� � ".profile", �� ��� �������� ���� ��������� � ����� ���������� ��������� ���� ����. ��� ����� ����� ����� � ������ ����� � �������, � ����� ��������������� (���������� ��� ����� ������ ���������) �������� "." ��� ������ �� �������, �.�.

    . .profile

������� ����� � ����, ��� ����� ������, ������������ � �����, ������ ����� ������ ������. ���, ��� �� �������� �� ����� ������� �������� "ls" - ���������� �������� ��� ������� � ������ "-a". ������, � �� ������������ ������� �������� "rm *".

�������� ����� ���� ���������� "my" � ����� ������ �����, ������� � ".profile", ��������

    PATH=${PATH}:/home/sae/my

���

    PATH=${PATH}:${HOME}/my

��� �������, ��������������� ���������� ����� ������� ��������������. ��������,

    export TERM PATH REDKEYS MAIL

����� ����������� ���������� � ".profile" ����� ��������� �������, �������� �������

     stty -lcase

��������� �������� � ����� "������� � ��������� �����"; � �������

     cat ��������

������ �� ����� �������� , ������� �� ���� ����������� � ����� "��������" � ������ ����� ������������ ����������� � �������������� ������������.

��� ������������� shell ������������� ����������� �������� ��������� ���������� (����������):

? ��������, ������������ ��������� ��������;
$ ����� ��������;
! ����� �������� ��������;
# ����� ����������� ����������, ������������ � shell;
* �������� ����������, ��� ���� ������;
@ �������� ����������, ��� ������������ ����;
- �����, ������������ � shell.

��� ��������� � ���� ���������� (�.� ��� ������������� �� � ��������� ����� - shell-���������) ������� ������� ������� "$".

������. ����� �������

    specific par1 par2 par3

�������� ���

    ###
    # specific: ����������� ��������� (����������)
    echo $0 - ��� �������
    echo $? - ��� ����������
    echo $$ - ������������� ���������� ��������
    echo $! - ������������� ���������� �������� ��������
    echo
    echo $* - �������� ����������, ��� ������
    echo $@ - �������� ����������, ��� ����
    echo
    set -au
    echo $- - ������ ������ ��������������

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

    specific - ��� �������
    0 - ��� ����������
    499 - ������������� ���������� ��������
    98 - ������������� ���������� �������� ��������
    par1 par2 par3 - �������� ����������, ��� ������
    par1 par2 par3 - �������� ����������, ��� ����
    au - ������ ������ ��������������

��� "0" ������������� ����������� ���������� ��������.

������ ���� ��� �������� ���������� ������ ������ ����������� ���������� "$$", �������� ������� ������������� ������ ��������, ������������ ������ ������. ������ ����� ������, ����������� �����������, ���������� ���� ��� ��������� ���������, ������������� ���������� ������ �� �������. �������, ��������� ����� �������� � �������� ����� �����, ����� ���� ���������, ��� ������ ����� ���� ����� ����� ����� ��� (�� ��������� �� ����� ��� �������������). ����������� �������� � ������� ����������� ������ ������� ���������� ������. ����������, ����� ����� ����� ��������� ������. �, ���� � ������ ������� �������� ����� ����� ���� "�� �����", �.�., ����������� � ����, ��������� $$, �� ����� ����� ����� ����� ����� ��������. ��� ������� �������������� �������� ��� ������� ��������.

"echo" ��� ���������� ������� ������ ������.

�������� $* � $@ ������� � ���, ��� ������ ���������� ����� ���� ������������ ���

    "par1  par2  par3"

� ������ ���

    "par1" "par2" "par3"

������, �������������� �������� "$*" � "$@" ����� ���������� � ����� � ���������� "for".

��� ����������� �� ���������� �������� "set" ������ �������������� ("a" - ��� ����������� ���������� ��������������; "u" - ���������� ��������� ������� �������), ��� � ���������� � ����������� ���������� "$-".

[�����] [����������] [������]