Β β’Β ΠΡΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΈ Π²Π²Π΅Π» ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΠΏΠ°ΡΠΎΠ»Ρ, login(1) Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠΊΠ°Π·Π°Π½Π½ΡΡ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ ΠΏΠΎΠ»Π΅ Π·Π°ΠΏΠΈΡΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π² ΡΠ°ΠΉΠ»Π΅ /etc/passwd. Π ΠΏΡΠΈΠ½ΡΠΈΠΏΠ΅ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π»ΡΠ±Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, Π½ΠΎ Π² Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ β ΡΡΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ shell.
Β β’Β Shell Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΠΉ ΡΠ°ΠΉΠ» ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ, ΠΈ Π²ΡΠ΄Π°Π΅Ρ Π½Π° ΡΠ΅ΡΠΌΠΈΠ½Π°Π» ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΡΠΈΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅. Π‘ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ Π²Π²ΠΎΠ΄ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
Β β’Β Shell ΡΡΠΈΡΡΠ²Π°Π΅Ρ Π²Π²ΠΎΠ΄ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π½Π°Π»ΠΈΠ· Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΡ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅, ΠΏΡΠ΅Π΄ΠΏΠΈΡΠ°Π½Π½ΠΎΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ (ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°ΠΏΡΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ°) ΠΈΠ»ΠΈ ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅, Π΅ΡΠ»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΈΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Ρ.
β’ ΠΠΎ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΠΈ ΡΠ°Π±ΠΎΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π·Π°Π²Π΅ΡΡΠ°Π΅Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ, Π²Π²ΠΎΠ΄Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ exit, ΠΈ Π²ΡΡ ΠΎΠ΄ΠΈΡ ΠΈΠ· ΡΠΈΡΡΠ΅ΠΌΡ.
Π ΠΈΡ. 1.8. ΠΡΠΎΡΠ΅ΡΡΡ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΠΈΠ΅ Π²Ρ ΠΎΠ΄ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π² ΡΠΈΡΡΠ΅ΠΌΡ
2.Β ΠΠΎΠΌΠ°Π½Π΄Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΄ΠΎΠ±Π½ΡΠΌ ΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΡΠ·ΡΠΊΠ° ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠΎΠ² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ, Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ Bourne. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ shell Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΠ½ΡΡΡΡΠΈΡΡΡ ΠΈΡ , ΠΊΠ°ΠΊ ΠΈΠ· ΠΊΠΈΡΠΏΠΈΡΠΈΠΊΠΎΠ², ΠΈΠ· ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ ΡΡΠΈΠ»ΠΈΡ UNIX. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΡΠ·ΡΠΊΠ΅ shell ΡΠ°ΡΡΠΎ Π½Π°Π·ΡΠ²Π°ΡΡ ΡΠΊΡΠΈΠΏΡΠ°ΠΌΠΈ ΠΈΠ»ΠΈ ΡΡΠ΅Π½Π°ΡΠΈΡΠΌΠΈ (script). ΠΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ ΡΡΠΈΡΡΠ²Π°Π΅Ρ ΡΡΡΠΎΠΊΠΈ ΠΈΠ· ΡΠ°ΠΉΠ»Π°- ΡΠΊΡΠΈΠΏΡΠ° ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΈΡ , ΠΊΠ°ΠΊ Π΅ΡΠ»ΠΈ Π±Ρ ΠΎΠ½ΠΈ Π±ΡΠ»ΠΈ Π²Π²Π΅Π΄Π΅Π½Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅.
3.Β ΠΠ°ΠΊ ΡΠΆΠ΅ ΡΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡ, ΠΏΡΠΈ Π²Ρ ΠΎΠ΄Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π² ΡΠΈΡΡΠ΅ΠΌΡ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ Π΅Π³ΠΎ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΎΠ½Π½ΡΠΉ ΡΠΊΡΠΈΠΏΡ, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΠΉ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠ½ΠΊΡΠΈΠΉ: ΡΡΡΠ°Π½ΠΎΠ²ΠΊΡ ΠΏΡΡΠΈ ΠΏΠΎΠΈΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠΎΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΡΠΈΠΊΠ°. ΠΠΎΠΌΠΈΠΌΠΎ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ ΡΠ΅Π»ΡΠΉ ΡΡΠ΄ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ, β Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΡΠΈΠ³Π»Π°ΡΠ΅Π½ΠΈΡ. Π‘ΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ Π²Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ "ΠΏΠΎΠΊΠΎΠΏΠ°ΡΡΡΡ" Π² ΡΡΠΎΠΌ ΡΠΊΡΠΈΠΏΡΠ΅, ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅, ΡΡΠΎΠ±Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΏΡΡΠΈ ΠΏΠΎΠΈΡΠΊΠ°. ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΎΠ½Π½ΡΠΉ ΡΠΊΡΠΈΠΏΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² Π΄ΠΎΠΌΠ°ΡΠ½Π΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
ΠΠ»Ρ ΡΠ°Π·Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠΊΡΠΈΠΏΡΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ:
ΠΠΎΠΌΠ°Π½Π΄Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ | Π‘ΠΊΡΠΈΠΏΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ |
---|---|
Bourne shell (sh) | .profile |
Π‘ shell (csh) | .login ΠΈ .cshrc |
Korn shell (ksh) | .profile ΠΈ .kshrc |
Bourne-Again shell (bash) | .profile ΠΈ .bashrc |
Π‘ΠΊΡΠΈΠΏΡΡ .profile ΠΈ .login Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΏΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΌ Π²Ρ ΠΎΠ΄Π΅ Π² ΡΠΈΡΡΠ΅ΠΌΡ.
Π‘ΠΊΡΠΈΠΏΡΡ .cshrc, .kshrc ΠΈ .bashrc Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ°.
4.Β ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΊΡΠΈΠΏΡΠΎΠ² shell. ΠΡΠ»ΠΈ Π²Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½ΠΎΠ²ΡΠΉ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ ΡΠ΅ΡΠ²ΠΈΡ), ΡΠΎ ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π·Π°Π³Π»ΡΠ½ΡΡΡ Π² ΡΡΠΈ ΡΠΊΡΠΈΠΏΡΡ.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΡΠ·ΡΠΊΠ° Bourne shell
ΠΡΠ±ΠΎΠΉ ΠΈΠ· ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠΎΠ² ΠΈΠΌΠ΅Π΅Ρ ΡΠ°Π·Π²ΠΈΡΡΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΈΠ»ΠΈ ΡΠΊΡΠΈΠΏΡΡ, Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠ»ΠΎΠΆΠ½ΡΡ Π·Π°Π΄Π°Ρ. Π‘Π»Π΅Π΄ΡΠ΅Ρ, ΠΎΠ΄Π½Π°ΠΊΠΎ, ΠΈΠΌΠ΅ΡΡ Π² Π²ΠΈΠ΄Ρ, ΡΡΠΎ shell ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ, ΠΎΠ½ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠΈΡΡΠ²Π°Π΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈΠ· ΡΠΊΡΠΈΠΏΡΠ° ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΈΡ , ΠΊΠ°ΠΊ Π΅ΡΠ»ΠΈ Π±Ρ ΠΎΠ½ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ Π²Π²ΠΎΠ΄ΠΈΠ»ΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ Ρ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°. ΠΡΠΈ ΡΠ°ΠΊΠΎΠΌ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠ΅ ΡΠ°Π±ΠΎΡΡ ΡΡΡΠ΄Π½ΠΎ ΠΎΠΆΠΈΠ΄Π°ΡΡ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΎΡ ΡΠΊΡΠΈΠΏΡΠΎΠ², ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΈΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΏΡΠΎΡΡΠΎΡΠΎΠΉ ΠΈ Π½Π°Π³Π»ΡΠ΄Π½ΠΎΡΡΡΡ. ΠΡΠ»ΠΈ ΠΆΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈΠ³ΡΠ°Π΅Ρ Π³Π»Π°Π²Π½ΡΡ ΡΠΎΠ»Ρ, ΡΠΎ ΡΠ°ΠΌΡΠΌ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΌ ΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ ΠΎΡΡΠ°Π΅ΡΡΡ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π‘.
Π ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΡΠ·ΡΠΊΠ΅ Bourne shell, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΡΠ΅, ΡΡΠΎΠ±Ρ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΡΠΊΡΠΈΠΏΡΠ°Ρ ΠΈ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΎΡΡΠ΅ΠΉΡΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΡ. ΠΠ°Π½Π½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π½ΠΈ Π² ΠΊΠΎΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π΅ ΠΏΡΠ΅ΡΠ΅Π½Π΄ΡΠ΅Ρ Π½Π° ΠΏΠΎΠ»Π½ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° ΡΠ·ΡΠΊΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ°.
ΠΠ±ΡΠΈΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΡΠΊΡΠΈΠΏΡΠ°
ΠΠ°ΠΊ ΡΠΆΠ΅ Π±ΡΠ»ΠΎ Π·Π°ΠΌΠ΅ΡΠ΅Π½ΠΎ, ΡΠΊΡΠΈΠΏΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΎΠ±ΡΡΠ½ΡΠΉ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ», Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π·Π°ΠΏΠΈΡΠ°Π½Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ, ΠΏΠΎΠ½ΡΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΌΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΡ. ΠΡΠΎ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ shell ΠΈΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠΎΠΌΠ°Π½Π΄Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ ΡΡΠΈΡΡΠ²Π°Π΅Ρ ΡΡΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΈΠ· ΡΠ°ΠΉΠ»Π° ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΈΡ .
ΠΠ΅Π·ΡΡΠ»ΠΎΠ²Π½ΠΎ, ΠΊΠ°ΠΊ ΠΈ Π² ΡΠ»ΡΡΠ°Π΅ Π»ΡΠ±ΠΎΠ³ΠΎ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΠΎΠ±Π»Π΅Π³ΡΠ°Π΅Ρ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π Bourne shell ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Ρ ΡΠΈΠΌΠ²ΠΎΠ»Π° '#':
# ΠΡΠΎΡ ΡΠΊΡΠΈΠΏΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΏΠΎΠΈΡΠΊ "ΠΌΡΡΠΎΡΠ°" (Π·Π°Π±ΡΡΡΡ
Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
# ΡΠ°ΠΉΠ»ΠΎΠ², ΡΠ°ΠΉΠ»ΠΎΠ² core ΠΈ Ρ.ΠΏ.) Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°Ρ
ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ
ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ Π·Π°Π½ΠΈΠΌΠ°ΡΡ Π½Π΅ Π²ΡΡ ΡΡΡΠΎΠΊΡ, Π° ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
find /home -name core -print # ΠΡΠΏΠΎΠ»Π½ΠΈΠΌ ΠΏΠΎΠΈΡΠΊ ΡΠ°ΠΉΠ»ΠΎΠ² core
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΌΠΎΠ³ΡΡ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΠΊΡΠΈΠΏΡΡ Π΄Π»Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠΎΠ², ΠΈΠΌΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π² ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
#!/bin/sh
Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ΅ΠΊΡΡ ΡΠΊΡΠΈΠΏΡΠ° Π±ΡΠ΄Π΅Ρ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Bourne shell. ΠΠ°ΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΡΠΊΡΠΈΠΏΡΠ° ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ (Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠ±Π»Π°Π΄Π°ΡΡ ΠΏΡΠ°Π²ΠΎΠΌ Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ β x), Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΡΡΠ΅Π½ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ, Π²Π²ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄ Π΄Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΈΠ· ΡΠ°ΠΉΠ»Π° ΡΠΊΡΠΈΠΏΡΠ°.
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅
Π ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΠΈΠ»ΠΈ ΡΠΊΡΠΈΠΏΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅. ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΡΠΎΠΊΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΈΠ΅ΠΌ:
var=<i>value</i>
Π³Π΄Π΅ var β ΠΈΠΌΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, a value β Π΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π·Π½Π°ΠΊ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΡΠ²Π΅ΡΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ name Π½Π° ΡΠΊΡΠ°Π½ ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ echo ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
$ <b>echo $name</b>
Π’Π°ΠΊ ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ Π΄ΡΡΠ³ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ (name1) Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ name:
$ <b>name1=$name</b>
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ ΠΈΠ½Π°ΡΠ΅. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΡΡΠΎΠΊΡ, shell ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΡΡΡΠΎΠΊ ΠΈΠ· ΠΏΠΎΡΠΎΠΊΠ° Π²ΡΠ²ΠΎΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ. Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΈΡ ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ:
var=`<i>command</i>`
Π’Π°ΠΊ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π³Π΄Π΅ var β ΠΈΠΌΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, a command β Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΊΠΎΠΌΠ°Π½Π΄Π° pwd(1) Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΡΡΠΎΠΊΡ ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°:
$ <b>pwd</b>
/usr/home/andrei/test
ΠΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ cdir Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡΡ Π² Π½Π΅ΠΉ:
$ <b>cdir=`pwd`</b>
$ <b>echo $cdir</b>
/usr/home/andrei/test
$ <b>cd /usr/bin</b>
$ <b>pwd</b>
/usr/bin
$ <b>cd $cdir</b>
$ <b>pwd</b>
/usr/home/andrei/test
ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ var, ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ ΠΏΠΎΠ΄ΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΠΌΠ΅ΡΡΠΎ $var Π΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ Π² ΡΠ°Π±Π».Β 1.7.