ΠΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Π² Linux ΡΡΠΈΡΠ°Π΅ΡΡΡ Π²ΡΠ΅, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ: ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ, Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ, ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΡ ΠΊΠΎΠΌΠ°Π½Π΄, ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠ°ΠΉΠ»Ρ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² (ΡΠΊΡΠΈΠΏΡΡ) β Π·Π°ΡΠ°Π½Π΅Π΅ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ Π²ΠΈΠ΄Π΅. ΠΠΎ ΡΠΈΡ ΠΏΠΎΡ, ΠΏΡΠΈΠ²ΠΎΠ΄Ρ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄, Ρ Π½Π΅ ΡΠ°Π·Π»ΠΈΡΠ°Π» ΠΈΡ ΠΏΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ, ΠΈ Π΄Π°Π»ΡΡΠ΅ Π½Π΅ ΡΠΎΠ±ΠΈΡΠ°ΡΡΡ Π΄Π΅Π»Π°ΡΡ ΡΡΠΎΠ³ΠΎ, ΠΊΡΠΎΠΌΠ΅ ΠΎΡΠΎΠ±ΡΡ ΡΠ»ΡΡΠ°Π΅Π².
ΠΠ±ΠΎΠ»ΠΎΡΠΊΠ° ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π²Π²ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ, Π΅ΡΠ»ΠΈ Π½ΡΠΆΠ½ΠΎ, ΠΈΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ, ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠ΅ ΠΈΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΡΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π² ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΡ Π²ΡΡΡΠΎΠ΅Π½ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ (ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΠΉ ΡΠ·ΡΠΊ), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΠΏΠΈΡΠ°ΡΡ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΡΠ°Π·Π²Π΅ΡΠ²Π»Π΅Π½Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΠΈ. ΠΠΌΠ΅Π½Π½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΠΉ ΡΠ·ΡΠΊ ΠΎΡΠ»ΠΈΡΠ°Π΅Ρ ΡΠ°Π·Π½ΡΠ΅ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ Π΄ΡΡΠ³ ΠΎΡ Π΄ΡΡΠ³Π°, ΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΈΠ· Π½Π΅Π³ΠΎ ΠΈΡΡ ΠΎΠ΄ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ, Π²ΡΠ±ΠΈΡΠ°Ρ Π»ΡΠ±ΠΈΠΌΡΡ ΠΈ Π½Π΅Π»ΡΠ±ΠΈΠΌΡΡ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ.
ΠΠ»Ρ Linux ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠΎΠ². ΠΠΎΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠ· Π½ΠΈΡ :
sh Bourne shell, ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ° ΠΠΎΡΠ½Π°, ΡΡΠ°Π½Π΄Π°ΡΡ Π΄Π»Ρ ΠΌΠ½ΠΎΠ³ΠΈΡ UNIX-ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ;
bash Bourne Again shell, Β«Π΅ΡΠ΅ ΠΎΠ΄Π½Π° ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ° ΠΠΎΡΠ½Π°Β»;
csh Π‘ shell, ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ° Π‘ΠΈ: ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π΅Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° ΠΏΠΎΡ ΠΎΠΆ Π½Π° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΡΠ·ΡΠΊΠ° Π‘;
tcsh tiny Π‘ shell, ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½Π°Ρ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ° Π‘ΠΈ;
pdksh public domain Korn shell, ΠΎΠ±ΡΠ΅Π΄ΠΎΡΡΡΠΏΠ½Π°Ρ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ° ΠΠΎΡΠ½Π°;
sash stand-alone shell, Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½Π°Ρ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ°, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π° Π² ΡΠ»ΡΡΠ°Π΅, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½Ρ.
Π‘ΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ-ΠΎΠ±ΠΎΠ»ΠΎΡΠ΅ΠΊ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΡΠ°ΠΉΠ»Π΅ /etc/shells. Π£ ΠΌΠ΅Π½Ρ ΠΎΠ½ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
/bin/sh
/bin/bash
/sbin/nologin # ΡΡΠΎ "ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ°" Π΄Π»Ρ ΡΠ΅Ρ ,
# ΠΊΠΎΠΌΡ Π·Π°ΠΏΡΠ΅ΡΠ΅Π½ Π²Ρ ΠΎΠ΄ Π² ΡΠΈΡΡΠ΅ΠΌΡ
/bin/ash
/bin/bsh
/bin/ksh
/usr/bin/ksh
/usr/bin/pdksh
/bin/tcsh
/bin/csh
ΠΠ°ΡΠ°Π»ΡΠ½Π°Ρ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ° Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌΠ°Ρ Π΄Π»Ρ Π½Π΅Π³ΠΎ ΠΏΡΠΈ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅, ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π² ΡΠ°ΠΉΠ»Π΅ /etc/passwd:
$ grep den /etc/passwd # Π²ΡΠ±ΡΠ°ΡΡ ΠΈΠ· ΡΠ°ΠΉΠ»Π° ΡΡΡΠΎΠΊΠΈ,
# ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΡ den
den:x:501:501:Denis:/home/den:/bin/bash
Π Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΌΠ΅Π½ΠΈΡΡ ΡΠ΅ΠΊΡΡΡΡ ΠΎΠ±ΠΎΠ΄ΠΎΡΠΊΡ Π½Π° Π»ΡΠ±ΡΡ ΠΈΠ· ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ (ΡΠΎΡΠ½Π΅Π΅, Π²ΠΎΠΉΡΠΈ Π² ΠΏΠΎΠ΄ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΡ). Π§ΡΠΎΠ±Ρ Π²ΡΠΉΡΠΈ ΠΈΠ· Π½Π΅Π΅ ΠΈ Π²Π΅ΡΠ½ΡΡΡΡΡ Π² ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΡΡ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΡ, Π²Π²Π΅Π΄ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ exit. Π Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ΅ ΡΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π·Π°Π²Π΅ΡΡΠ°Π΅Ρ ΡΠ΅Π°Π½Ρ ΡΠ°Π±ΠΎΡΡ.
Π Π»ΡΠ±ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΠΈ, ΡΠΎΡΡΠΎΡΡΠΈΠ΅ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄ Π΄ΡΡΠ³ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ: ΠΏΠ΅ΡΠ²Π°Ρ ΡΡΡΠΎΠΊΠ° ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΡΠ΅Π½Π°ΡΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ Π½Π° ΡΠΎ, Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ΅ Π΅Π³ΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ, ΠΈ ΡΠ΅ΠΊΡΡΠ°Ρ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ° Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ Π΄Π»Ρ Π½Π΅Π³ΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΡΡ ΠΊΠ°ΠΊ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡ.
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π°Π·Π½Π°ΡΠ°Π΅ΡΡΡ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ° bash. ΠΡΠΎ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½Π°Ρ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ°, Π²ΠΊΠ»ΡΡΠ°ΡΡΠ°Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠΎΠ²Π΅ΡΡΠ΅Π½ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠΉ ΠΈ Π»ΡΡΡΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ² Π΄ΡΡΠ³ΠΈΡ ΠΎΠ±ΠΎΠ΄ΠΎΡΠ΅ΠΊ, ΠΈ ΠΌΠ΅Π½ΡΡΡ Π΅Π΅ Ρ Π½Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ. Π Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ, Π³ΠΎΠ²ΠΎΡΡ Β«ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ°Β», Ρ Π±ΡΠ΄Ρ ΠΈΠΌΠ΅ΡΡ Π² Π²ΠΈΠ΄Ρ ΠΈΠΌΠ΅Π½Π½ΠΎ bash.
3.4.1. ΠΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
Π‘ΠΏΠΈΡΠΎΠΊ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ bash ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ help ΠΈΠ»ΠΈ Π½Π°ΠΉΡΠΈ Π½Π° man-ΡΡΡΠ°Π½ΠΈΡΠ΅ Π² ΡΠ΅ΠΊΡΠΈΠΈ SHELL BUILTIN COMMANDS. ΠΠ°ΠΏΠΎΠΌΠΈΠ½Π°Ρ, ΡΡΠΎ ΠΏΠΎΠΈΡΠΊ Π² Π²ΡΠ²ΠΎΠ΄Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ man Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ /<ΠΎΠ±ΡΠ°Π·Π΅Ρ><ΠΠ²ΠΎΠ΄>, Π° ΠΏΠΎΠΈΡΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ Π²Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ°Π·ΡΠ° β ΠΏΠΎ Π½Π°ΠΆΠ°ΡΠΈΠΈ ΠΊΠ»Π°Π²ΠΈΡΠΈ <n>.
Π‘ΠΏΡΠ°Π²ΠΊΡ ΠΏΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π΅, ΠΈΠΌΡ ΠΊΠΎΡΠΎΡΠΎΠΉ Π²Ρ Π·Π½Π°Π΅ΡΠ΅, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ help <ΠΈΠΌΡ>.
ΠΠΎΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄:
β¦ alias <ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌ> <Π΄Π»ΠΈΠ½Π½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ> β Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΠ°. ΠΠ΅Π· Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ ΠΈΠΌΠ΅ΡΡΠΈΡ ΡΡ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΠΎΠ². ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ root ΠΊΠΎΠΌΠ°Π½Π΄Π° rm ΡΠ΄Π΅Π»Π°Π½Π° ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΠΎΠΌ Π΄Π»Ρ Β«rm -iΒ», ΡΡΠΎΠ±Ρ ΠΎΠ½ Π½Π΅ Π·Π°Π±ΡΠ» Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΊΠ»ΡΡΠΎΠΌ -i (ΡΠΌ.ΠΏ.2.1.4.3). ΠΡ ΡΠΎΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°Π·Π½Π°ΡΠΈΡΡ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌ Π΄Π»Ρ ΠΎΠΏΠ°ΡΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ risk, ΡΠΎΠ·Π΄Π°Π² ΡΡΠ΅Π½Π°ΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ½Π°ΡΠ°Π»Π° Π±ΡΠ΄Π΅Ρ ΡΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ Β«Π° Π²Ρ ΡΠ²Π΅ΡΠ΅Π½Ρ?Β», ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠΌ ΠΎΡΠ²Π΅ΡΠ΅ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ risk Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅. ΠΠ°ΠΉΡΠ΅ ΡΡΠΎΠΌΡ ΡΡΠ΅Π½Π°ΡΠΈΡ ΠΈΠΌΡ risk, Π° Π²Π½ΡΡΡΠΈ Π½Π΅Π³ΠΎ ΡΡΡΠ»Π°ΠΉΡΠ΅ΡΡ Π½Π° Π½Π°ΡΡΠΎΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ risk ΠΏΠΎ Π΅Π΅ ΠΏΠΎΠ»Π½ΠΎΠΌΡ ΠΏΡΡΠΈ. Π£Π΄Π°Π»ΠΈΡΡ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ unalias.
β¦ echo [Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ] β Π²ΡΠ²ΠΎΠ΄ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² Π½Π° ΡΠΊΡΠ°Π½. ΠΠΎΠ»Π΅Π·Π½ΠΎ, Π΅ΡΠ»ΠΈ Π½ΡΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΡ (ΠΏ.3.4.4) ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, ΡΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ.
β¦ enable <ΠΈΠΌΡ_ΠΊΠΎΠΌΠ°Π½Π΄Ρ> β Π·Π°ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΡ Π²ΠΌΠ΅ΡΡΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» Ρ ΡΠ°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ. ΠΠΎΠ»Π΅Π·Π½ΠΎ, Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΡΠ΅Π½Π°ΡΠΈΠΉ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, echo.
β¦ eval [Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ] β ΠΊΠΎΠ½ΡΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π½Π° Π»Π΅ΡΡ, ΠΈΠ· ΡΠΊΠ°Π·Π°Π½Π½ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ², ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΊΠ° Π΅Π΅ Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅.
β¦ let <ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ>=<Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅> β Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ. Π’Π°ΠΊ, ΠΊΠΎΠΌΠ°Π½Π΄Π° var= 1 + 2 ΠΏΡΠΈΡΠ²ΠΎΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ var (ΡΠΌ. ΠΏ.3.4.3) Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Β«1 + 2Β», Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° let var=1+2 β Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Β«3Β».
β¦ source <ΡΠ°ΠΉΠ»> β ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ΡΡ Π² ΡΠ°ΠΉΠ»Π΅. ΠΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ (ΠΏ.3.4.3).
ΠΡΡΠ³ΠΈΠ΅ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ»ΡΠΆΠ°Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° bash.
3.4.2. ΠΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄
ΠΠ±ΠΎΠ»ΠΎΡΠΊΠ° ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ Π²Π°ΠΌ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ Π΄Π»Ρ ΠΎΠ±Π»Π΅Π³ΡΠ΅Π½ΠΈΡ Π²Π²ΠΎΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ. ΠΠΎΠΌΠΈΠΌΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ Π°Π²ΡΠΎΠ·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ Π²Ρ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠ»ΠΈΡΡ Π² ΠΏ.1.1.4.7, bash ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΈΡΡΠΎΡΠΈΠΈ. Π‘ΡΡΡ Π΅Π³ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ Π²Π²ΠΎΠ΄ΠΈΠΌΡΠ΅ Π²Π°ΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ 1000) Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡΡΡΡ ΠΈ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π΄Π»Ρ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° β Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ Ρ Π½ΠΈΠΌΠΈ.
ΠΠΎΠΌΠ°Π½Π΄Π° history Π±Π΅Π· Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π²ΡΡ ΠΈΡΡΠΎΡΠΈΡ, Π½ΡΠΌΠ΅ΡΡΡ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅ ΠΈΡ Π²Π²ΠΎΠ΄Π°.
ΠΡΠ»ΠΈ Π²Π°Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠ°Π½Π΄:
$ history 23 # ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ 23 ΠΊΠΎΠΌΠ°Π½Π΄Ρ
ΠΡΠ»ΠΈ Π²Π°Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΡΡ Π²ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΈΠΌΠ΅ΡΡΠΈΠ΅ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΠΊ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° public:
$ history | grep mount | grep public
# Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠ°
ΠΠΎΠΌΠ΅ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄ Π²ΡΠ²ΠΎΠ΄ΡΡΡΡ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π²Ρ ΠΌΠΎΠ³Π»ΠΈ ΡΠ½ΠΎΠ²Π° Π²Π²Π΅ΡΡΠΈ ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, Π½Π°Π±ΡΠ°Π²
$ ! <Π½ΠΎΠΌΠ΅Ρ>
ΠΈΠ»ΠΈ
$ !! # Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΠΈΠ· Π²Π²Π΅Π΄Π΅Π½Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄
ΠΈΠ»ΠΈ
$ !<ΠΏΠ΅ΡΠ²ΡΠ΅_Π±ΡΠΊΠ²Ρ> # Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄,
# Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ ΡΡ Ρ ΡΡΠΈΡ Π±ΡΠΊΠ².
Π‘ΡΡΠ΅Π»ΠΊΠΈ Β«Π²Π²Π΅ΡΡ Β» ΠΈ Β«Π²Π½ΠΈΠ·Β» ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡ ΠΏΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΈΡΡΠΎΡΠΈΠΈ, Π½Π΅ ΠΎΡΠΏΡΠ°Π²Π»ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, Π° Π²Π²ΠΎΠ΄Ρ Π΅Π΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΡΡΡΠΎΠΊΡ Π΄Π»Ρ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΠΎΡΠ»Π΅Π΄Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΌΠΎΠΆΠ΅Ρ Π΄Π»Ρ Π²Π°Ρ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΌΠ° ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ°. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π²ΠΌΠ΅ΡΡΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²Π²Π΅Π΄ΠΈΡΠ΅:
$ ^ΡΡΠΎ_Π·Π°ΠΌΠ΅Π½ΠΈΡΡ^ΡΠ΅ΠΌ_Π·Π°ΠΌΠ΅Π½ΠΈΡΡ
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Ρ Π·Π°ΠΏΡΠΎΡΠΈΠ»ΠΈ ΡΠΏΡΠ°Π²ΠΊΡ ΠΏΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ΅ bash: man bash. ΠΡΠ»ΠΈ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠΏΡΠ°Π²ΠΊΡ ΠΏΠΎ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ΅ csh, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΌΠ΅ΡΡΠΎ man csh Π½Π°Π±ΡΠ°ΡΡ
$ ^ba^c
ΠΠΎΠΌΠ½ΠΈΡΠ΅, ΡΡΠΎ Π·Π°ΠΌΠ΅Π½Π΅ ΠΏΠΎΠ΄Π»Π΅ΠΆΠΈΡ ΠΏΠ΅ΡΠ²ΠΎΠ΅ Π²Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠΈ Β«ΡΡΠΎ_Π·Π°ΠΌΠ΅Π½ΠΈΡΡΒ».
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ, Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΎΠΏΡΡΡΠΈΡΡ Π΅Π΅ Π²ΡΠ²ΠΎΠ΄ ΡΠ΅ΡΠ΅Π· ΡΠΈΠ»ΡΡΡ more), Π²Π²Π΅Π΄ΠΈΡΠ΅
$ !! | more
3.4.3. ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅
ΠΠ°ΠΊ Π»ΡΠ±ΠΎΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΠΉ ΡΠ·ΡΠΊ bash ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅. Π’ΠΈΠΏ ΠΈΡ β ΡΡΡΠΎΠΊΠΎΠ²ΡΠΉ. ΠΠΏΠ΅ΡΠ°ΡΠΎΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
$ <ΠΈΠΌΡ_ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ>=<Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅>
ΠΠΌΡ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Ρ Π±ΡΠΊΠ²Ρ ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΡΡΠΎΡΡΡ ΠΈΠ· Π»Π°ΡΠΈΠ½ΡΠΊΠΈΡ Π±ΡΠΊΠ², ΡΠΈΡΡ, Π·Π½Π°ΠΊΠ° ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠΈΠ²Π°Π½ΠΈΡ. ΠΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ, ΠΈΡ Π½ΡΠΆΠ½ΠΎ ΡΠΊΡΠ°Π½ΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠ°Π²ΡΡΠΊΠ°ΠΌΠΈ ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΡΠΌ ΡΠ»ΡΡΠ΅ΠΌ (ΡΠΌ. ΠΏ. 2.1.1).
ΠΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅ΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠΌ $ (Π½Π΅ ΠΏΡΡΠ°ΠΉΡΠ΅ Ρ ΠΏΡΠΈΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ bash). ΠΡΠ²Π΅ΡΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ echo:
$ cwd=/home/den/MyDownloads/packages
$ echo cwd # Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΠΈΠΌΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ
cwd
$ echo $cwd # Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ
/home/den/MyDownloads/packages
Π£ΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΡΠΎΠ»ΡΠΊΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ bash. Π§ΡΠΎΠ±Ρ ΠΎΠ½ΠΈ ΡΡΠ°Π»ΠΈ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌ (ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌ ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΠΌ ΡΡΠ΅Π½Π°ΡΠΈΡΠΌ, Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌΡΠΌ ΠΈΠ·-ΠΏΠΎΠ΄ bash), ΠΈΡ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ Π² ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ bash. ΠΠ΅Π»Π°Π΅ΡΡΡ ΡΡΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ export:
$ export HELLO="Hello from environment!" # ΠΏΡΠΎΠ±Π΅Π» Π½ΡΠΆΠ½ΠΎ ΡΠΊΡΠ°Π½ΠΈΡΠΎΠ²Π°ΡΡ
Π§ΡΠΎΠ±Ρ ΠΏΠΎΡΡΠ²ΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΠ°Π·Π½ΠΈΡΡ, ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΏΡΠΎΡΡΠ΅ΠΉΡΠΈΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΠΉ ΡΡΠ΅Π½Π°ΡΠΈΠΉ, Π²ΡΠ²ΠΎΠ΄ΡΡΠΈΠΉ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΄Π²ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ . ΠΠ»Ρ Π·Π°ΠΏΠΈΡΠΈ ΡΡΠ΅Π½Π°ΡΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΡΡΠΎΠΉ ΡΠ°ΠΉΠ» ΠΈ ΠΎΡΠΊΡΡΡΡ Π΅Π³ΠΎ Π² ΠΊΠ°ΠΊΠΎΠΌ-Π½ΠΈΠ±ΡΠ΄Ρ ASCII-ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅, Π° ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠΌΠ½ΠΈΡΡ ΠΏ.2.1.4 ΠΈ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ cat:
$ cat > myscript
echo Env variable: $HELLO
echo Local variable: $hello # ΠΏΠΎΠΌΠ½ΠΈΡΠ΅ ΠΎ ΡΠ°Π·Π½ΠΈΡΠ΅ Π² ΡΠ΅Π³ΠΈΡΡΡΠ΅?
# ΠΡΠΎ Π΄ΡΡΠ³Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ.
^D
$
ΠΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ ΠΊΠ»Π°Π²ΠΈΡ Ctrl+D Π·Π°Π²Π΅ΡΡΠ°Π΅Ρ Π²Π²ΠΎΠ΄ ΠΈ Π·Π°ΠΊΡΡΠ²Π°Π΅Ρ ΡΠ°ΠΉΠ», ΠΈ Π²Ρ ΡΠ½ΠΎΠ²Π° Π²ΠΈΠ΄ΠΈΡΠ΅ ΠΏΡΠΈΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ.
ΠΠΎΠ»ΡΡΠΈΠ²ΡΠΈΠΉΡΡ ΡΠ°ΠΉΠ» ΡΡΠ΅Π½Π°ΡΠΈΡ Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΌ (ΠΏ.2.1.4):