linux Π·Π°ΠΏΡΡΠΊ ΡΠΊΡΠΈΠΏΡΠ° Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ
ΠΠ’ ΠΠ°Π·Π° Π·Π½Π°Π½ΠΈΠΉ
ΠΠΎΠ»Π΅Π·Π½ΠΎ
β ΠΠ½Π»Π°ΠΉΠ½ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΡΡΡΠΎΠΉΡΠΈΠ²ΡΡ ΠΏΠ°ΡΠΎΠ»Π΅ΠΉ
β ΠΠ½Π»Π°ΠΉΠ½ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ ΠΏΠΎΠ΄ΡΠ΅ΡΠ΅ΠΉ
β Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ° FreePBX Π½Π° ΡΡΡΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅
β Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ° Cisco UCM/CME Π½Π° ΡΡΡΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅
β Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ° ΠΏΠΎ Linux/Unix
ΠΠ°Π²ΠΈΠ³Π°ΡΠΈΡ
Π‘Π΅ΡΠ²Π΅ΡΠ½ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ
Π’Π΅Π»Π΅ΡΠΎΠ½ΠΈΡ
FreePBX ΠΈ Asterisk
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ ΡΠ΅Π»Π΅ΡΠΎΠ½ΠΎΠ²
ΠΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΡΠ΅ ΡΠ΅ΡΠΈ
ΠΡΠΎΡΠΎΠΊΠΎΠ»Ρ ΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΡ
Π£ΡΠΈΠΌΡΡ ΠΏΠΈΡΠ°ΡΡ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΡΠΊΡΠΈΠΏΡΡ Π² Unix ΠΈ Linux
ΠΡΠ»ΠΈ Π²Ρ Π΅ΡΠ΅ Π½Π΅ ΡΠΌΠ΅Π΅ΡΠ΅ ΠΏΠΈΡΠ°ΡΡ ΡΠΊΡΠΈΠΏΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ°Ρ Unix ΠΈ Linux, ΡΡΠ° ΡΡΠ°ΡΡΡ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ Ρ ΠΎΡΠ½ΠΎΠ²Π°ΠΌΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠΊΡΠΈΠΏΡΠΎΠ².
ΠΠ½Π»Π°ΠΉΠ½ ΠΊΡΡΡ ΠΏΠΎ Linux
ΠΡ ΡΠΎΠ±ΡΠ°Π»ΠΈ ΠΊΠΎΠ½ΡΠ΅Π½ΡΡΠ°Ρ ΡΠ°ΠΌΡΡ Π²ΠΎΡΡΡΠ΅Π±ΠΎΠ²Π°Π½Π½ΡΡ Π·Π½Π°Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ ΡΠ΅Π±Π΅ Π½Π°ΡΠ°ΡΡ ΠΊΠ°ΡΡΠ΅ΡΡ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ° Linux, ΡΠ°ΡΡΠΈΡΠΈΡΡ ΡΠ΅ΠΊΡΡΠΈΠ΅ Π·Π½Π°Π½ΠΈΡ ΠΈ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ²Π΅ΡΠ΅Π½Π½ΡΠΉ ΡΠ°Π³ ΠΊ DevOps
ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ.
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠ²ΠΎΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΡ, ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅Π² ΡΠ°ΠΉΠ» /etc/passwd :
ΠΠ° Π²ΡΠ²ΠΎΠ΄Π΅ Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ Π²ΡΠ΅Π³ΠΎ Π΄Π΅Π²ΡΡΡ ΠΎΠ±ΠΎΠ»ΠΎΡΠ΅ΠΊ.
ΠΡΠ±ΠΎΡ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ
Π§ΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΠΊΠ°ΠΊΠ°Ρ ΠΈΠ· Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΠΎΠ±ΠΎΠ»ΠΎΡΠ΅ΠΊ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²Π°ΡΠ΅Π³ΠΎ ΡΠΊΡΠΈΠΏΡΠ°, Π² ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ Π²Π°ΡΠ΅Π³ΠΎ ΡΠΊΡΠΈΠΏΡΠ° ΠΏΡΠΎΠΏΠΈΡΠΈΡΠ΅ ΠΎΠ΄Π½Ρ ΠΈΠ· ΡΡΡΠΎΡΠ΅ΠΊ, ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΡ Π½ΠΈΠΆΠ΅:
ΠΠΎΠ³Π΄Π° ΠΏΠ΅ΡΠ²Π°Ρ ΡΡΡΠΎΠΊΠ° Π²Π°ΡΠ΅Π³ΠΎ ΡΠΊΡΠΈΠΏΡΠ° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΠ΅Ρ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ, ΡΡΠ° ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ° Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² ΡΠΊΡΠΈΠΏΡΠ΅. ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΡ Π² ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ Π² ΡΠΊΡΠΈΠΏΡΠ΅, ΡΠΎ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ°, ΠΊΠΎΡΠΎΡΡΡ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ΅Π½Π°ΡΠΈΡ, Π±ΡΠ΄Π΅Ρ ΡΠΎΠΉ, ΠΊΠΎΡΠΎΡΠ°Ρ Π΅Π³ΠΎ Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ.
ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄
Π§ΡΠΎΠ±Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΡΠΎΡ ΡΠΊΡΠΈΠΏΡ, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π²
ΠΠ΅Π»Π°Π΅ΠΌ ΡΠ°ΠΉΠ» ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΌ
Π§ΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠΊΡΠΈΠΏΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ chmod ΠΈ ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΌΠΎΠ³ΡΡ Π΅Π³ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ if
ΠΠΎΠΌΠ°Π½Π΄Π° if ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΡΡΠ»ΠΎΠ²ΠΈΡ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅. Π ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π½ΠΈΠΆΠ΅ ΠΌΡ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ, Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ Π»ΠΈ ΡΠΊΡΠΈΠΏΡ Π² ΠΏΡΡΠ½ΠΈΡΡ.
ΠΠΎΠ½ΡΡΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΠΠ°ΠΏΡΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π° Π²Π²ΠΎΠ΄ Π΄Π°Π½Π½ΡΡ
Π§Π΅Π»ΠΎΠ²Π΅ΠΊ, Π·Π°ΠΏΡΡΠΊΠ°ΡΡΠΈΠΉ ΡΡΠ΅Π½Π°ΡΠΈΠΉ, ΡΠ²ΠΈΠ΄ΠΈΡ ΠΏΡΠΈΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈ Π²Π²Π΅Π΄Π΅Ρ ΠΎΡΠ²Π΅Ρ :
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ
Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΡΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ², Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ, ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΉ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌΡ Π½ΠΈΠΆΠ΅, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, Π±ΡΠ»ΠΈ Π»ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Ρ ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅ Π΄Π²Π° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°, ΠΈ, Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΡΡΠΎ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΡΠΎΠΊ, ΡΠ°ΠΊ ΠΈ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π°:
Π Π°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΈΠΊΠ»ΠΎΠ²
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° case
ΠΠΏΠ΅ΡΠ°ΡΠΎΡΡ case ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π²Π°ΡΠΈΠΌ ΡΠΊΡΠΈΠΏΡΠ°ΠΌ ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎ-ΡΠ°Π·Π½ΠΎΠΌΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ²Π΅ΡΡΡΡΡΡ. Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ ΡΠΊΡΠΈΠΏΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠ°Π·Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°, ΠΏΡΡΠ΅ΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΈΠΏΠ° ΡΠ°ΠΉΠ»Π°.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΡΡΠΎΡ ΡΡΠ΅Π½Π°ΡΠΈΠΉ ΡΠ°ΠΊΠΆΠ΅ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π°, Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΎ Π½Π΅ Π±ΡΠ»ΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΎ, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π»ΠΈ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΡΠ°ΠΉΠ» ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ. Π’ΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅.
Π Π΅Π°ΠΊΡΠΈΡ Π½Π° ΠΎΡΠΈΠ±ΠΊΠΈ
ΠΠ½Π»Π°ΠΉΠ½ ΠΊΡΡΡ ΠΏΠΎ Linux
ΠΡ ΡΠΎΠ±ΡΠ°Π»ΠΈ ΠΊΠΎΠ½ΡΠ΅Π½ΡΡΠ°Ρ ΡΠ°ΠΌΡΡ Π²ΠΎΡΡΡΠ΅Π±ΠΎΠ²Π°Π½Π½ΡΡ Π·Π½Π°Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ ΡΠ΅Π±Π΅ Π½Π°ΡΠ°ΡΡ ΠΊΠ°ΡΡΠ΅ΡΡ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ° Linux, ΡΠ°ΡΡΠΈΡΠΈΡΡ ΡΠ΅ΠΊΡΡΠΈΠ΅ Π·Π½Π°Π½ΠΈΡ ΠΈ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ²Π΅ΡΠ΅Π½Π½ΡΠΉ ΡΠ°Π³ ΠΊ DevOps
ΠΠ°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΠΎΠ² Π½Π° Bash
ΠΡΠ»ΠΈ Π²Ρ ΡΠΆΠ΅ Π±ΠΎΠ»Π΅Π΅ ΠΎΠΏΡΡΠ½ΡΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΡΠΎ, Π½Π°Π²Π΅ΡΠ½ΠΎΠ΅, ΡΠ°ΡΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ ΡΠ΅ΡΠ΅Π· ΡΠ΅ΡΠΌΠΈΠ½Π°Π». Π§Π°ΡΡΠΎ Π²ΡΡΡΠ΅ΡΠ°ΡΡΡΡ Π·Π°Π΄Π°ΡΠΈ, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΡΡ Π½ΡΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΏΠΎ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ½Π°ΡΠ°Π»Π° Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π², Π° ΡΠΆΠ΅ Π·Π°ΡΠ΅ΠΌ ΡΠΊΠ°ΡΠ°ΡΡ Π½ΠΎΠ²ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ². ΠΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈ ΡΠ°ΠΊΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΠΎΡΠ΅Π½Ρ ΠΌΠ½ΠΎΠ³ΠΎ, Π΄Π°ΠΆΠ΅ Π²Π·ΡΡΡ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Π·Π°Π³ΡΡΠ·ΠΊΡ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π½Π° ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΡΠ²Π΅Ρ. ΠΠΎΡΡΠΎΠΌΡ, ΡΡΠΎΠ±Ρ Π½Π΅ Π½Π°Π±ΠΈΡΠ°ΡΡ ΠΎΠ΄Π½ΠΈ ΠΈ ΡΠ΅ ΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΊΡΠΈΠΏΡΡ. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΠΎΠ² Π½Π° Bash, ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΎ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ, ΡΠ°ΠΊ ΡΠΊΠ°Π·Π°ΡΡ, bash ΡΠΊΡΠΈΠΏΡΡ Ρ Π½ΡΠ»Ρ.
ΠΡΠ½ΠΎΠ²Ρ ΡΠΊΡΠΈΠΏΡΠΎΠ²
ΠΡΠΎΡΡΠ΅ΠΉΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΊΡΠΈΠΏΡΠ° Π΄Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ Bash:
!/bin/bash
echo «Hello world»
Π£ΡΠΈΠ»ΠΈΡΠ° echo Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΡΡΠΎΠΊΡ, ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΡ Π΅ΠΉ Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ΅ Π½Π° ΡΠΊΡΠ°Π½. ΠΠ΅ΡΠ²Π°Ρ ΡΡΡΠΎΠΊΠ° ΠΎΡΠΎΠ±Π°Ρ, ΠΎΠ½Π° Π·Π°Π΄Π°Π΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ. ΠΠΎΠΎΠ±ΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΊΡΠΈΠΏΡ Π½Π° Π»ΡΠ±ΠΎΠΌ Π΄ΡΡΠ³ΠΎΠΌ ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠΊΠ°Π·Π°ΡΡ Π½ΡΠΆΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π° python:
!/usr/bin/env python
print(«Hello world»)
!/usr/bin/env php
echo «Hello world»;
Π ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΡ ΠΏΡΡΠΌΠΎ ΡΠΊΠ°Π·Π°Π»ΠΈ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, Π² Π΄Π²ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΠΌΡ Π½Π΅ Π·Π½Π°Π΅ΠΌ ΡΠΎΡΠ½ΡΠΉ Π°Π΄ΡΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΡΠΎΡΠΈΠΌ ΡΡΠΈΠ»ΠΈΡΡ env Π½Π°ΠΉΡΠΈ Π΅Π΅ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΠΊΡΠΈΠΏΡΠ°Ρ . ΠΠΎ ΡΡΠΎ Π΅ΡΠ΅ Π½Π΅ Π²ΡΠ΅. Π ΡΠΈΡΡΠ΅ΠΌΠ΅ Linux, ΡΡΠΎΠ±Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΌΠΎΠ³Π»Π° Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠΊΡΠΈΠΏΡ, Π½ΡΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π½Π° ΡΠ°ΠΉΠ» Ρ Π½ΠΈΠΌ ΡΠ»Π°Π³ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ.
ΠΡΠΎΡ ΡΠ»Π°Π³ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΌΠ΅Π½ΡΠ΅Ρ Π² ΡΠ°ΠΌΠΎΠΌ ΡΠ°ΠΉΠ»Π΅, ΡΠΎΠ»ΡΠΊΠΎ Π³ΠΎΠ²ΠΎΡΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ΅, ΡΡΠΎ ΡΡΠΎ Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ», Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΈ Π΅Π΅ Π½ΡΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ, ΠΎΡΠΊΡΡΡΡ ΡΠ°ΠΉΠ», ΡΠ·Π½Π°ΡΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ. ΠΡΠ»ΠΈ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ Π½Π΅ ΡΠΊΠ°Π·Π°Π½, Π±ΡΠ΄Π΅Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΠΎ ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π½Π΅ Π²ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ bash, Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΡΠΎ ΡΠ²Π½ΠΎ.
chmod ugo+x ΡΠ°ΠΉΠ»_ΡΠΊΡΠΈΠΏΡΠ°
Π’Π΅ΠΏΠ΅ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌ Π½Π°ΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΡΡ ΠΏΠ΅ΡΠ²ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ:
ΠΡΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. ΠΡ ΡΠΆΠ΅ Π·Π½Π°Π΅ΡΠ΅ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠΉ ΡΠΊΡΠΈΠΏΡ, ΡΠΊΠ°ΠΆΠ΅ΠΌ Π΄Π»Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ. ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡΠ΅, ΡΠΊΡΠΈΠΏΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΡΠ΅ ΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΡΡΠΎ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅, ΠΈΡ ΠΏΠΈΡΠ°ΡΡ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ. ΠΠΎ ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠ»ΠΎΠΆΠ½ΠΈΠΌ Π·Π°Π΄Π°ΡΡ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠΊΡΠΈΠΏΡ, ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, Π΅ΠΌΡ Π½ΡΠΆΠ½ΠΎ ΡΠ°ΠΌΠΎΠΌΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ, Ρ ΡΠ°Π½ΠΈΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠΈΠΊΠ»Ρ. ΠΡΠ΅ ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π΄Π΅Π»Π°ΡΡ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ° Bash. ΠΡΠ°Π²Π΄Π°, ΡΡΡ Π²ΡΠ΅ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠΆΠ½Π΅Π΅. ΠΠ°ΡΠ½Π΅ΠΌ Ρ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ.
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π² ΡΠΊΡΠΈΠΏΡΠ°Ρ
ΠΠ°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΠΎΠ² Π½Π° Bash ΡΠ΅Π΄ΠΊΠΎ ΠΎΠ±Ρ ΠΎΠ΄ΠΈΡΡΡ Π±Π΅Π· ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π΄Π°Π½Π½ΡΡ , Π° Π·Π½Π°ΡΠΈΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ . ΠΠ΅Π· ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π½Π΅ ΠΎΠ±Ρ ΠΎΠ΄ΠΈΡΡΡ Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π½Π°Ρ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π½ΡΠΉ ΡΠ·ΡΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ ΡΠΎΠΆΠ΅.
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ ΡΠΆΠ΅ ΡΠ°Π½ΡΡΠ΅ Π²ΡΡΡΠ΅ΡΠ°Π»ΠΈΡΡ Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ. Π’Π°ΠΊ Π²ΠΎΡ, ΡΡΠΎ ΡΠ΅ ΠΆΠ΅ ΡΠ°ΠΌΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΎΠ½ΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠ±ΡΡΠ²ΠΈΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ string:
ΠΠΎΠ΄ΠΈΡΠΈΡΠΈΡΡΠ΅ΠΌ Π½Π°Ρ ΡΠΊΡΠΈΠΏΡ:
Bash Π½Π΅ ΡΠ°Π·Π»ΠΈΡΠ°Π΅Ρ ΡΠΈΠΏΠΎΠ² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ ΡΠ·ΡΠΊΠΈ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π‘++, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΊΠ°ΠΊ ΡΠΈΡΠ»ΠΎ, ΡΠ°ΠΊ ΠΈ ΡΡΡΠΎΠΊΡ. ΠΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ Π²ΡΠ΅ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΡΠΈΡΠ°ΡΡΡΡ ΡΡΡΠΎΠΊΠΎΠΉ. ΠΠ±ΠΎΠ»ΠΎΡΠΊΠ° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ ΡΡΡΠΎΠΊ, Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΏΠΈΡΠΈΡΠ΅ ΠΈΠΌΠ΅Π½Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΏΠΎΠ΄ΡΡΠ΄:
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΊΠ°ΠΊ Ρ ΠΈ Π³ΠΎΠ²ΠΎΡΠΈΠ», ΠΊΠ°Π²ΡΡΠΊΠΈ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½Ρ Π΅ΡΠ»ΠΈ Π² ΡΡΡΠΎΠΊΠ΅ Π½Π΅Ρ ΡΠΏΠ΅ΡΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ². ΠΡΠΈΡΠΌΠΎΡΡΠΈΡΠ΅ΡΡ ΠΊ ΠΎΠ±ΠΎΠΈΠΌ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌ ΡΠ»ΠΈΡΠ½ΠΈΡ ΡΡΡΠΎΠΊ, Π·Π΄Π΅ΡΡ ΡΠΎΠΆΠ΅ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅ΡΡΡ ΡΠΎΠ»Ρ ΠΊΠ°Π²ΡΡΠ΅ΠΊ. ΠΡΠ»ΠΈ ΠΆΠ΅ Π²Π°ΠΌ Π½ΡΠΆΠ½Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΡΡΠΎΠΊ ΠΈΠ»ΠΈ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΡΡΠΎ Π½Π΅ Π²Ρ ΠΎΠ΄ΠΈΡ Π² Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ, Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΎΠ±ΡΡΠ½ΡΠ΅ ΡΡΠΈΠ»ΠΈΡΡ.
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈ Π²ΡΠ²ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π½Π΅ Π±ΡΠ»ΠΈ Π±Ρ Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ»Π΅Π·Π½Ρ, Π΅ΡΠ»ΠΈ Π±Ρ Π² Π½ΠΈΡ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π·Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠΈΠ»ΠΈΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ°ΠΊΠΎΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
$( ΠΊΠΎΠΌΠ°Π½Π΄Π° )
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΎΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π²ΡΠ²ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ ΠΏΡΡΠΌΠΎ ΡΡΠ΄Π°, ΠΎΡΠΊΡΠ΄Π° ΠΎΠ½Π° Π±ΡΠ»Π° Π²ΡΠ·Π²Π°Π½Π°, Π° Π½Π΅ Π½Π° ΡΠΊΡΠ°Π½. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΈΠ»ΠΈΡΠ° date Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ΅ΠΊΡΡΡΡ Π΄Π°ΡΡ. ΠΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½Ρ:
ΠΠΎΠ½ΠΈΠΌΠ°Π΅ΡΠ΅? ΠΠ°ΠΏΠΈΡΠ΅ΠΌ ΡΠΊΡΠΈΠΏΡ, Π³Π΄Π΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡΡ hello world ΠΈ Π΄Π°ΡΠ°:
string1=»hello world »
string2=$(date)
Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ Π·Π½Π°Π΅ΡΠ΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , ΠΈ Π³ΠΎΡΠΎΠ²Ρ ΡΠΎΠ·Π΄Π°ΡΡ bash ΡΠΊΡΠΈΠΏΡ, Π½ΠΎ ΡΡΠΎ Π΅ΡΠ΅ Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ Π²ΡΠ΅. ΠΠ°Π»ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΈ ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ. ΠΠ°ΠΏΠΎΠΌΠ½Ρ, ΡΡΠΎ ΡΡΠΎ Π²ΡΠ΅ ΠΎΠ±ΡΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ bash, ΠΈ Π²Π°ΠΌ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠΎΡ ΡΠ°Π½ΡΡΡ ΠΈΡ Π² ΡΠ°ΠΉΠ»Π΅, ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΡΠ°Π·Ρ ΠΆΠ΅ Π½Π° Ρ ΠΎΠ΄Ρ.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠΊΡΠΈΠΏΡΠ°
ΠΠ΅ Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ bash ΡΠΊΡΠΈΠΏΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π²Π²ΠΎΠ΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. Π Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² Π½ΡΠΆΠ½ΠΎ ΡΠΏΡΠΎΡΠΈΡΡ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΊΠ°ΠΊΠΎΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΏΡΠ΅Π΄ΠΏΡΠΈΠ½ΡΡΡ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎΠΉ ΡΠ°ΠΉΠ» ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ. ΠΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΠΊΡΠΈΠΏΡΠ° ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ Π΅ΠΌΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ. ΠΡΠ΅ ΡΡΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π² Π²ΠΈΠ΄Π΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Ρ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ Π² Π²ΠΈΠ΄Π΅ Π½ΠΎΠΌΠ΅ΡΠΎΠ².
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ 1 ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°, ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ 2, Π²ΡΠΎΡΠΎΠ³ΠΎ ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅. ΠΡΠΎΡ bash ΡΠΊΡΠΈΠΏΡ Π²ΡΠ²Π΅Π΄Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°:
Π£ΠΏΡΠ°Π²Π»ΡΡΡΠΈΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π² ΡΠΊΡΠΈΠΏΡΠ°Ρ
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ bash ΡΠΊΡΠΈΠΏΡΠ° Π±ΡΠ»ΠΎ Π±Ρ Π½Π΅ Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌ Π±Π΅Π· Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΡΠ°ΠΊΡΠΎΡΡ, ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π² ΠΎΡΠ²Π΅Ρ Π½Π° Π½ΠΈΡ Π½ΡΠΆΠ½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ. ΠΡΠΎ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ-ΡΠ°ΠΊΠΈ ΡΠ»ΠΎΠΆΠ½Π°Ρ ΡΠ΅ΠΌΠ°, Π½ΠΎ ΠΎΠ½Π° ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½Π° Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ bash ΡΠΊΡΠΈΠΏΡ.
Π Bash Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠΉ Π΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π΅Π΅ ΡΠ°ΠΊΠΎΠΉ:
if ΠΊΠΎΠΌΠ°Π½Π΄Π°_ΡΡΠ»ΠΎΠ²ΠΈΠ΅
then
ΠΊΠΎΠΌΠ°Π½Π΄Π°
else
ΠΊΠΎΠΌΠ°Π½Π΄Π°
fi
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΠΊΠΎΠ΄ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΡΠ»ΠΎΠ²ΠΈΡ, ΠΈ Π΅ΡΠ»ΠΈ 0 (ΡΡΠΏΠ΅Ρ ) ΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΏΠΎΡΠ»Π΅ ΡΠ»ΠΎΠ²Π° then, Π΅ΡΠ»ΠΈ ΠΊΠΎΠ΄ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ 1 Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π±Π»ΠΎΠΊ else, fi ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ Π±Π»ΠΎΠΊΠ° ΠΊΠΎΠΌΠ°Π½Π΄.
ΠΠΎ ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π½Π°ΠΌ ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ Π½Π°Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ΅Ρ Π½Π΅ ΠΊΠΎΠ΄ Π²ΠΎΠ·Π²ΡΠ°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Ρ, Π° ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΡΡΡΠΎΠΊ ΠΈ ΡΠΈΡΠ΅Π», ΡΠΎ Π±ΡΠ»Π° Π²Π²Π΅Π΄Π΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° [[, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΠΈ Π²ΡΠ΄Π°Π²Π°ΡΡ ΠΊΠΎΠ΄ Π²ΠΎΠ·Π²ΡΠ°ΡΠ° Π·Π°Π²ΠΈΡΡΡΠΈΠΉ ΠΎΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ. ΠΠ΅ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
[[ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ1 ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ2 ]]
Π’Π΅ΠΏΠ΅ΡΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ΠΌ Π²ΡΠ΅ ΡΡΠΎ ΠΈ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΡΠΊΡΠΈΠΏΡ Ρ ΡΡΠ»ΠΎΠ²Π½ΡΠΌ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ:
ΠΠΎΠ½Π΅ΡΠ½ΠΎ, Ρ ΡΡΠΎΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, Π½ΠΎ ΡΡΠΎ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΡΠ»ΠΎΠΆΠ½ΠΎ ΡΡΠΎΠ±Ρ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΈΡ Π² ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ Π½Π°ΠΏΠΈΡΡ ΠΎΠ± ΡΡΠΎΠΌ ΠΏΠΎΡΠΎΠΌ. Π ΠΏΠΎΠΊΠ° ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅ΠΌ ΠΊ ΡΠΈΠΊΠ»Π°ΠΌ.
Π¦ΠΈΠΊΠ»Ρ Π² ΡΠΊΡΠΈΠΏΡΠ°Ρ
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΡΠΎΡΠ΅ΠΊ ΡΠΊΠ°Π·Π°ΡΡ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π½ΡΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΠΎΠ² Π½Π° bash, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΡΡΠΎΡΡ Π²ΡΠ΅Π³ΠΎ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΡΡΠΎΡΠ΅ΠΊ, Π° Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΡΠ°ΡΠ°ΠΌΠΈ, Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡ Π½ΡΠΆΠ½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ.
ΠΠ΅ΡΠ²ΡΠΌ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠΈΠΊΠ» for. ΠΠΎΡ Π΅Π³ΠΎ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
for ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ in ΡΠΏΠΈΡΠΎΠΊ
do
ΠΊΠΎΠΌΠ°Π½Π΄Π°
done
ΠΠ΅ΡΠ΅Π±ΠΈΡΠ°Π΅Ρ Π²Π΅ΡΡ ΡΠΏΠΈΡΠΎΠΊ, ΠΈ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅Ρ ΠΏΠΎ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°, ΠΏΠΎΡΠ»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ do ΠΈ done.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠ΅ΡΠ΅Π±Π΅ΡΠ΅ΠΌ ΠΏΡΡΡ ΡΠΈΡΡ:
ΠΠ»ΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΡΡ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈΠ· ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ:
ΠΠ°ΠΊ Π²Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΡΠ΅, ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΠΈΠΌΠ΅Π½Π°, Π½ΠΎ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π½ΡΠΆΠ½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΡΡΠΎ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΊΠΎΠ³Π΄Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ bash ΡΠΊΡΠΈΠΏΡΠ°.
while ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΡΠ»ΠΎΠ²ΠΈΠ΅
do
ΠΊΠΎΠΌΠ°Π½Π΄Π°
done
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡΠ΅, Π²ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ, ΠΊΠΎΠΌΠ°Π½Π΄Π° let ΠΏΡΠΎΡΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΡ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ, Π² Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡΡ.
Π₯ΠΎΡΠ΅Π»ΠΎΡΡ Π±Ρ ΠΎΡΠΌΠ΅ΡΠΈΡΡ Π΅ΡΠ΅ ΠΊΠΎΠ΅-ΡΡΠΎ. Π’Π°ΠΊΠΈΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ, ΠΊΠ°ΠΊ while, for, if ΡΠ°ΡΡΡΠΈΡΠ°Π½Ρ Π½Π° Π·Π°ΠΏΠΈΡΡ Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΡΠΎΠΊ, ΠΈ Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΠΎΠΏΡΡΠ°Π΅ΡΠ΅ΡΡ ΠΈΡ Π·Π°ΠΏΠΈΡΠ°ΡΡ Π² ΠΎΠ΄Π½Ρ ΡΡΡΠΎΠΊΡ, ΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΠΎΡΠΈΠ±ΠΊΡ. ΠΠΎ ΡΠ΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΡΠ°ΠΌ, Π³Π΄Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ ΡΡΡΠΎΠΊΠΈ ΡΡΠ°Π²ΡΡΠ΅ ΡΠΎΡΠΊΡ Ρ Π·Π°ΠΏΡΡΠΎΠΉ «;». ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ ΡΠΈΠΊΠ» ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ:
ΠΡΠ΅ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ Ρ ΠΏΡΡΠ°Π»ΡΡ Π½Π΅ ΡΡΠ»ΠΎΠΆΠ½ΡΡΡ ΡΡΠ°ΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ ΡΠ΅ΡΠΌΠΈΠ½Π°ΠΌΠΈ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ bash, ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΌΠΎΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ΅. Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ»ΡΡΠ°ΡΡ , Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡΡ ΡΠ΄Π΅Π»Π°ΡΡ gui Π΄Π»Ρ bash ΡΠΊΡΠΈΠΏΡΠ°, ΡΠΎΠ³Π΄Π° Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΠΊΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΊΠ°ΠΊ zenity ΠΈΠ»ΠΈ kdialog, Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π½ΠΈΡ ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½ΠΎ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈ Π΄Π°ΠΆΠ΅ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ Ρ Π½Π΅Π³ΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ.
ΠΡΠ²ΠΎΠ΄Ρ
Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΊΡΠΈΠΏΡΠ° Π² linux ΠΈ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΏΠΈΡΠ°ΡΡ Π½ΡΠΆΠ½ΡΠΉ Π²Π°ΠΌ ΡΠΊΡΠΈΠΏΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ. Π― ΠΏΡΡΠ°Π»ΡΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ bash ΡΠΊΡΠΈΠΏΡΡ Ρ Π½ΡΠ»Ρ. ΠΠΎΡΡΠΎΠΌΡ Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ Π²ΡΠ΅ Π°ΡΠΏΠ΅ΠΊΡΡ Π±ΡΠ»ΠΈ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Ρ. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΌΡ Π΅ΡΠ΅ Π²Π΅ΡΠ½Π΅ΠΌΡΡ ΠΊ ΡΡΠΎΠΉ ΡΠ΅ΠΌΠ΅ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΡΠ°ΡΠ΅ΠΉ.
ΠΠ°ΠΏΡΡΠΊ ΡΠΊΡΠΈΠΏΡΠ° sh Π² Linux
ΠΡΡ ΡΠΈΠ»Π° Linux Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°. ΠΡΠΎ ΡΠ°ΠΊΠ°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π½Π°Ρ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ°, Π³Π΄Π΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ Π±ΡΡΡΡΠΎ ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ. ΠΡ Π²ΠΏΡΠΎΡΠ΅ΠΌ, Π²Ρ Π½Π°Π²Π΅ΡΠ½ΠΎΠ΅ ΡΡΠΎ ΡΠΆΠ΅ Π·Π½Π°Π΅ΡΠ΅. ΠΠ»Ρ Linux Π±ΡΠ»ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠΊΡΠΈΠΏΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ°Ρ . ΠΡΠΎ ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½ΠΎ, Π²Ρ ΠΏΡΠΎΡΡΠΎ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅ΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅, Π° Π·Π°ΡΠ΅ΠΌ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΠ΅ ΠΈΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ»ΡΠΊΠ°.
ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΊΡΠΈΠΏΡΡ
Π Linux ΠΏΠΎΡΡΠΈ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° Π΄Π»Ρ ΠΎΠΏΠ΅ΡΠ΅ΠΆΠ΅Π½ΠΈΡ Π΅Π³ΠΎ ΡΠΈΠΏΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΌ ΡΡΠΎΠ²Π½Π΅. ΠΡΠΎ ΠΌΠΎΠ³ΡΡ Π΄Π΅Π»Π°ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠ΅ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΡ ΠΈ ΡΠΎ Π½Π΅ Π²ΡΠ΅Π³Π΄Π°. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠΈΠ³Π½Π°ΡΡΡΡ Π½Π°ΡΠ°Π»Π° ΡΠ°ΠΉΠ»Π° ΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΡΠ»Π°Π³ΠΈ. Π‘ΠΈΡΡΠ΅ΠΌΠ° ΡΡΠΈΡΠ°Π΅Ρ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΌΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠΌ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ Π°ΡΡΠΈΠ±ΡΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΡΡΠΈ.
ΠΠ°ΠΏΡΡΠΊ ΡΠΊΡΠΈΠΏΡΠ° sh Π² Linux
Π‘Π½Π°ΡΠ°Π»Π° ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ sh ΡΠΊΡΠΈΠΏΡΠ°:
#!/bin/bash
echo «Hello world»
chmod ugo+x script.sh
ΠΠ»ΠΈ ΠΏΠΎΠ»Π½ΡΠΉ ΠΏΡΡΡ ΠΎΡ ΠΊΠΎΡΠ½Ρ:
cp script.sh /usr/local/bin/script.sh
Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ:
Π Π΅ΡΠ»ΠΈ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠΊΡΠΈΠΏΡ Π½Π° php, ΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅:
ΠΠΎΡ ΡΠ°ΠΊ Π²ΡΠ΅ ΠΏΡΠΎΡΡΠΎ Π·Π΄Π΅ΡΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. Π’Π°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠΊΡΠΈΠΏΡ ΠΊΠ°ΠΊ ΡΠΎΠ½ΠΎΠ²ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ» &:
ΠΠ°ΠΆΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΎΡΠ΅ΡΡ linux Π½Π΅ ΡΠ°ΠΊ ΡΠ»ΠΎΠΆΠ½ΠΎ.
ΠΡΠ²ΠΎΠ΄Ρ
ΠΡΠ½ΠΎΠ²Ρ BASH. Π§Π°ΡΡΡ 1
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
break Π²ΡΡ
ΠΎΠ΄ ΠΈΠ· ΡΠΈΠΊΠ»Π° for, while ΠΈΠ»ΠΈ until
continue Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΈΠΊΠ»Π° for, while ΠΈΠ»ΠΈ until
echo Π²ΡΠ²ΠΎΠ΄ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ², ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π½ΡΡ
ΠΏΡΠΎΠ±Π΅Π»Π°ΠΌΠΈ, Π½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π²ΡΠ²ΠΎΠ΄Π°
exit Π²ΡΡ
ΠΎΠ΄ ΠΈΠ· ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ
export ΠΎΡΠΌΠ΅ΡΠ°Π΅Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π² Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ Π² ΡΡΠ΅Π΄Π΅
hash Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ ΠΏΠΎΠ»Π½ΡΠ΅ ΠΈΠΌΠ΅Π½Π° ΠΏΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄, ΡΠΊΠ°Π·Π°Π½Π½ΡΡ
Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ², ΡΡΠΎΠ±Ρ Π½Π΅ ΠΈΡΠΊΠ°ΡΡ ΠΈΡ
ΠΏΡΠΈ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΈ
kill ΠΏΠΎΡΡΠ»Π°Π΅Ρ ΡΠΈΠ³Π½Π°Π» Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΡ
pwd Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³
read ΡΠΈΡΠ°Π΅Ρ ΡΡΡΠΎΠΊΡ ΠΈΠ· Π²Π²ΠΎΠ΄Π° ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π΅Π΅ Π΄Π»Ρ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ.\
return Π·Π°ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ Π²ΡΠΉΡΠΈ Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ
shift ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅Ρ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½Π½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π½Π°Π»Π΅Π²ΠΎ
test Π²ΡΡΠΈΡΠ»ΡΠ΅Ρ ΡΡΠ»ΠΎΠ²Π½ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅
times Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΠΈΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΎΠΉ ΠΈ Π΅Π΅ ΠΏΠΎΡΠΎΠΌΠΊΠ°ΠΌΠΈ
trap ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΎΠΉ ΡΠΈΠ³Π½Π°Π»Π°
unset Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΠ½ΠΈΡΡΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ
wait ΠΆΠ΄Π΅Ρ Π²ΡΡ
ΠΎΠ΄Π° ΠΈΠ· Π΄ΠΎΡΠ΅ΡΠ½Π΅Π³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΈ ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ Π²ΡΡ
ΠΎΠ΄Π½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅.
Π ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΠΆΠ΅ ΠΊΡΠΎΠΌΠ΅ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅Π»ΡΡ ΠΊΡΡΡ Π²Π½Π΅ΡΠ½ΠΈΡ , ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΌΡ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠΌΡΡ ΡΠΆΠ΅ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅
Π§ΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π½Π°ΡΡ Ρ ΡΠ°ΠΌΠΎΠ³ΠΎ Π½Π°ΡΠ°Π»Π°
1. ΠΡΠ±ΠΎΠΉ bash-ΡΠΊΡΠΈΠΏΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ ΡΠΎ ΡΡΡΠΎΠΊΠΈ:
#!/bin/bash
Π² ΡΡΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΠΏΠΎΡΠ»Π΅ #! ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΏΡΡΡ ΠΊ bash-ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ Π΅ΡΠ»ΠΈ ΠΎΠ½ Ρ Π²Π°Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π² Π΄ΡΡΠ³ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅(Π³Π΄Π΅, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ·Π½Π°ΡΡ Π½Π°Π±ΡΠ°Π² whereis bash) ΠΏΠΎΠΌΠ΅Π½ΡΠΉΡΠ΅ Π΅Ρ Π½Π° Π²Π°Ρ ΠΏΡΡΡ.
2. ΠΠΎΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Ρ ΡΠΈΠΌΠ²ΠΎΠ»Π° # (ΠΊΡΠΎΠΌΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ).
3. Π bash ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π½Π΅ ΠΈΠΌΠ΅ΡΡ ΡΠΈΠΏΠ°(ΠΎ Π½ΠΈΡ
ΡΠ΅ΡΡ ΠΏΠΎΠΉΠ΄Π΅Ρ Π½ΠΈΠΆΠ΅)
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠΊΡΠΈΠΏΡΠ°
ΠΡΠΈΠ²Π΅Π΄Ρ ΠΊΠ°ΠΊ ΠΏΡΠΈΠΌΠ΅Ρ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ:
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΊΡΠΈΠΏΡΠ°:
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΠΌΡ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠ»ΠΈΡΡ ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΡΠΊΡΠΈΠΏΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, Π²ΡΠ΅ΠΌΡ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Ρ Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ:
Π£ΡΠ»ΠΎΠ²ΠΈΡ
Π£ΡΠ»ΠΎΠ²Π½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ, Π΄ΡΠΌΠ°Ρ, Π·Π½Π°ΠΊΠΎΠΌΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ, ΠΊΡΠΎ Ρ
ΠΎΡΡ ΡΠ°Π· ΠΏΡΡΠ°Π»ΡΡ Π½Π° ΡΠ΅ΠΌ-ΡΠΎ ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π bash ΡΡΠ»ΠΎΠ²ΠΈΡ ΠΏΠΈΡΡΡΡΡ ΡΠ»Π΅Π΄. ΠΎΠ±ΡΠ°Π·ΠΎΠΌ (ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΠΎ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅):
#!/bin/bash
source=$1 #Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ source Π·Π°ΡΠΎΠ²ΡΠ²Π°Π΅ΠΌ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠΊΡΠΈΠΏΡΠ°
dest=$2 #Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ dest Π·Π°ΡΠΎΠ²ΡΠ²Π°Π΅ΠΌ Π²ΡΠΎΡΠΎΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠΊΡΠΈΠΏΡΠ°
Π£ΡΠ»ΠΎΠ²ΠΈΡ. ΠΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΉ Π²ΡΠ±ΠΎΡ
esac #ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° case.
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ°Π±ΠΎΡΡ:
ite@ite-desktop:
UPD: ΠΡΠΏΡΠ°Π²ΠΈΠ» Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ
UPD: ΠΠ±Π½ΠΎΠ²ΠΈΠ» ΡΠ°ΡΡΡ ΠΏΡΠΎ ΡΡΠ»ΠΎΠ²ΠΈΡ if-then-else
ΠΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Bash
Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ° Bash ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎ ΡΡΠ°ΡΠΈΡΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ, Π·Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΌΠΈ Π² ΡΠΊΡΠΈΠΏΡΠ°Ρ . ΠΠ½ΠΎΠ³Π΄Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΠ΅Π½Π°ΡΠΈΡ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π²Π½Π΅ΡΠ½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠΊΡΠΈΠΏΡΠ° Π΄Π»Ρ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΈ ΠΈΠΌΠΈ Π² ΠΊΠΎΠ΄Π΅.
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΎ, ΠΊΠ°ΠΊ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ bash, ΡΠΏΠΎΡΠΎΠ±Ρ Π΅Π³ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ, ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΠΎΠΏΡΠΈΠΉ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ Π½ΠΈΠΌΠΈ.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠΊΡΠΈΠΏΡΠ° Bash
ΠΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ Bash ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ Π²ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, Π²Π²Π΅Π΄ΡΠ½Π½ΡΠ΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅. Π ΠΈΡ ΡΠΎΡΡΠ°Π² Π²ΠΊΠ»ΡΡΠ΅Π½ΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΡ, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ. Π’Π°ΠΊΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ Π΅ΡΡ ΡΠΈΡΠ»ΠΎΠ²ΡΠΌΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π² ΠΈΡ Π½Π°Π·Π²Π°Π½ΠΈΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ ΡΠΈΡΠ»ΠΎ:
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄ΡΠ½ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΡΠΊΡΠΈΠΏΡΠ° Bash:
#!/bin/bash
factorial=1
for (( number = 1; number
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ°Π±ΠΎΡΡ ΠΊΠΎΠ΄Π°:
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ $1 ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π² ΠΊΠΎΠ΄Π΅ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π»ΡΠ±Π°Ρ Π΄ΡΡΠ³Π°Ρ. Π‘ΠΊΡΠΈΠΏΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅Ρ Π΅ΠΉ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ β ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ Π²ΡΡΡΠ½ΡΡ.
ΠΡΠ»ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²Π²Π΅ΡΡΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, ΠΈΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΠΏΡΠΎΠ±Π΅Π»Π°ΠΌΠΈ.
ΠΡΠΈΠΌΠ΅Ρ ΡΠ°Π±ΠΎΡΡ ΠΊΠΎΠ΄Π°:
ΠΠΎΠΌΠ°Π½Π΄Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ ΠΏΡΠΈΡΠ²ΠΎΠΈΠ» ΡΠΈΡΠ»Π° 5 ΠΈ 10 ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ β $1 ΠΈ $2.
Π’Π°ΠΊΠΆΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΈ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠ΅ ΡΡΡΠΎΠΊΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ, Π΅ΡΠ»ΠΈ Π΅ΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΠΏΡΠΎΠ±Π΅Π» (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΠΌΡ ΠΈ ΡΠ°ΠΌΠΈΠ»ΠΈΡ), Π΅Π³ΠΎ Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΊΠ»ΡΡΠΈΡΡ Π² ΠΎΠ΄ΠΈΠ½Π°ΡΠ½ΡΠ΅ ΠΈΠ»ΠΈ Π΄Π²ΠΎΠΉΠ½ΡΠ΅ ΠΊΠ°Π²ΡΡΠΊΠΈ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΏΡΠΎΠ±Π΅Π» ΡΠ»ΡΠΆΠΈΡ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Π΅ΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ:
ΠΡΠΈΠΌΠ΅Ρ ΡΠ°Π±ΠΎΡΡ ΠΊΠΎΠ΄Π°:
ΠΠ° Π·Π°ΠΌΠ΅ΡΠΊΡ: ΠΊΠ°Π²ΡΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°ΡΡ Π½Π°ΡΠ°Π»ΠΎ ΠΈ ΠΊΠΎΠ½Π΅Ρ Π΄Π°Π½Π½ΡΡ ΠΈ Π½Π΅ ΡΠ²Π»ΡΡΡΡΡ ΠΈΡ ΡΠ°ΡΡΡΡ.
ΠΡΠ»ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ 9 ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π΄Π»Ρ ΡΠΊΡΠΈΠΏΡΠ°, ΡΠΎ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡ. ΠΠ°ΡΠΈΠ½Π°Ρ Ρ Π΄Π΅ΡΡΡΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΡΠΈΡΠ»ΠΎ, ΡΡΠΎΡΡΠ΅Π΅ ΠΏΠΎΡΠ»Π΅ Π·Π½Π°ΠΊΠ° $, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΊΠ»ΡΡΠ°ΡΡ Π² ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ (Π±Π΅Π· Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ ΠΏΡΠΎΠ±Π΅Π»ΠΎΠ²):
ΠΡΠΈΠΌΠ΅Ρ ΡΠ°Π±ΠΎΡΡ ΠΊΠΎΠ΄Π°:
ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΡ ΡΠΊΡΠΈΠΏΡΠ° Bash
ΠΠ°ΠΊ ΡΠΆΠ΅ ΡΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡ, ΠΈΠΌΡ ΡΡΠ΅Π½Π°ΡΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΠΌΡΠΌ ΠΏΠ΅ΡΠ²ΡΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ ΡΠΊΡΠΈΠΏΡΠ°. Π§ΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ $0. Π’Π°ΠΊΠ°Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΡΠΊΡΠΈΠΏΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠ½ΠΊΡΠΈΠΉ. ΠΠ΄Π½Π°ΠΊΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΎΠ΄Π½Π° ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ, ΠΊΠΎΡΠΎΡΡΡ Π½ΡΠΆΠ½ΠΎ ΡΡΠΈΡΡΠ²Π°ΡΡ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅:
ΠΡΠΈΠΌΠ΅Ρ ΡΠ°Π±ΠΎΡΡ ΠΊΠΎΠ΄Π°:
ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ, Π΅ΡΠ»ΠΈ ΡΡΡΠΎΠΊΠΎΠΉ, ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΠΎΠΉ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ $0, ΡΠ²Π»ΡΠ΅ΡΡΡ Π²Π΅ΡΡ ΠΏΡΡΡ ΠΊ ΡΡΠ΅Π½Π°ΡΠΈΡ, ΡΠΎ Π½Π° Π²ΡΠ²ΠΎΠ΄ Π±ΡΠ΄Π΅Ρ ΠΈΠ΄ΡΠΈ Π²Π΅ΡΡ ΠΏΡΡΡ, Π° Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΡΠ»ΠΈ Π½ΡΠΆΠ΅Π½ ΡΠΊΡΠΈΠΏΡ, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΠΉ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Ρ ΡΡΡΡΠΎΠΌ ΡΠΎΠ³ΠΎ, ΠΏΠΎΠ΄ ΠΊΠ°ΠΊΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΎΠ½ Π±ΡΠ» Π²ΡΠ·Π²Π°Π½ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, ΠΏΡΠΈΠ΄ΡΡΡΡ ΠΏΡΠΎΠ΄Π΅Π»Π°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ°Π±ΠΎΡΡ: ΡΠ΄Π°Π»ΠΈΡΡ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΠΏΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΡΡ Π΄Π»Ρ Π΅Π³ΠΎ Π²ΡΠ·ΠΎΠ²Π°.
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½Π° Π½Π΅Π±ΠΎΠ»ΡΡΠ°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°. ΠΠΎΠΌΠ°Π½Π΄Π° basename Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΠ° Π±Π΅Π· Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΡΠΈ ΠΊ Π½Π΅ΠΌΡ:
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ°Π±ΠΎΡΡ ΠΊΠΎΠ΄Π°:
ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΠΊΡΠΈΠΏΡΠ°
ΠΠ΅ΡΠ΅Π΄Π°ΡΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Bash Π²ΡΠ½ΡΠΆΠ΄Π°Π΅Ρ ΡΠΎΠ±Π»ΡΠ΄Π°ΡΡ ΠΎΡΡΠΎΡΠΎΠΆΠ½ΠΎΡΡΡ. ΠΡΠ»ΠΈ ΡΡΠ΅Π½Π°ΡΠΈΠΉ Π½Π°ΠΏΠΈΡΠ°Π½ Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², Π½ΠΎ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ Π±Π΅Π· Π½ΠΈΡ , ΡΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π² ΡΠ°Π±ΠΎΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΡΠ»ΠΈ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ Π·Π°ΠΏΡΡΡΠΈΡΡ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ ΡΠ°Π½Π΅Π΅ ΡΠΊΡΠΈΠΏΡ test2 Π±Π΅Π· Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ², ΡΠΎ ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠ²ΠΎΠ΄ΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄ echo Π±ΡΠ΄Π΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½Π° ΠΎΡΠΈΠ±ΠΊΠ°:
Π§ΡΠΎΠ±Ρ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ°ΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΡΠΈΡΡΠ°ΡΠΈΠΈ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Π½Π° ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ β ΠΏΡΠΎΠ²Π΅ΡΡΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΡΠΊΡΠΈΠΏΡΠ° Π½Π° Π½Π°Π»ΠΈΡΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ. ΠΡΠΎ Π½Π°ΡΡΠΎΡΡΠ΅Π»ΡΠ½Π°Ρ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΡ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅, ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π²ΠΈΠ·ΠΈΠΈ ΡΡΠΎΠΈΡ ΠΏΡΡΠΊΠ°ΡΡ ΠΈΡ Π² Π΄Π΅Π»ΠΎ:
ΠΡΠΈΠΌΠ΅Ρ ΡΠ°Π±ΠΎΡΡ ΠΊΠΎΠ΄Π°:
Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»Π°ΡΡ ΠΎΠΏΡΠΈΡ -n ΠΈΠ· ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ ΡΡΠ°ΡΡΠΈ ΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΈ ΡΡΡΠΎΠΊ Π² Bash Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π½Π° Π½Π°Π»ΠΈΡΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΡΠΈΡΠ°Π»Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ.
ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ Bash β ΠΊΠΎΠΌΠ°Π½Π΄Ρ shift. ΠΡ ΠΏΡΡΠΌΠΎΠ΅ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠ΄Π²ΠΈΠ³Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π½Π° ΠΎΠ΄Π½Ρ ΠΏΠΎΠ·ΠΈΡΠΈΡ Π²Π»Π΅Π²ΠΎ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ· ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ $3 ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡΡ Π² $2, Π° ΠΈΠ· $2 β Π² $1. ΠΠΎ ΠΈΠ· $1 Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΡΡΠΎ ΠΎΡΠ±ΡΠΎΡΠΈΡΡΡ ΠΈ Π½Π΅ ΡΠΌΠ΅ΡΡΠΈΡΡΡ Π² $0, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠ°ΠΌ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΠΎ Ρ ΡΠ°Π½ΠΈΡΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π·Π°ΠΏΡΡΠ΅Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π²ΡΠ΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΡ ΡΡΠ΅Π½Π°ΡΠΈΡ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° Π½Π΅Π»ΡΠ·Ρ Π·Π°ΡΠ°Π½Π΅Π΅ ΡΠ·Π½Π°ΡΡ ΠΈΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ. ΠΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π»ΠΈΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ $1, ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ΄Π²ΠΈΠ³ ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠΈΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ.
ΠΡΠΈΠΌΠ΅Ρ ΡΠ°Π±ΠΎΡΡ ΠΊΠΎΠ΄Π°:
ΠΡΠΎΡ ΡΠΊΡΠΈΠΏΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠΈΠΊΠ» while, Π² ΡΡΠ»ΠΎΠ²ΠΈΠΈ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠΊΠ°Π·Π°Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° Π½Π° Π΄Π»ΠΈΠ½Ρ. Π Π΅ΡΠ»ΠΈ ΠΎΠ½Π° ΡΠ°Π²Π½Π° Π½ΡΠ»Ρ, ΡΠΈΠΊΠ» ΠΏΡΠ΅ΡΡΠ²Π°Π΅Ρ ΡΠ²ΠΎΡ ΡΠ°Π±ΠΎΡΡ. ΠΡΠΈ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° shift ΡΠ΄Π²ΠΈΠ³Π°Π΅Ρ Π²ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π²Π»Π΅Π²ΠΎ Π½Π° ΠΎΠ΄Π½Ρ ΠΏΠΎΠ·ΠΈΡΠΈΡ.
ΠΡΡ ΠΎΠ΄ΠΈΠ½ Π²Π°ΡΠΈΠ°Π½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ shift β ΡΠΌΠ΅ΡΠ°ΡΡ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ·ΠΈΡΠΈΠΉ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠ΅ΡΠ΅Π· ΠΏΡΠΎΠ±Π΅Π» ΡΠΊΠ°Π·Π°ΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠΌΠ΅ΡΡΠ½ ΡΡΠ΄ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΠΊΡΠΈΠΏΡΠ°.
ΠΡΠΈΠΌΠ΅Ρ ΡΠ°Π±ΠΎΡΡ ΡΠΊΡΠΈΠΏΡΠ°:
ΠΠ° Π·Π°ΠΌΠ΅ΡΠΊΡ: ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ shift Π½ΡΠΆΠ½ΠΎ Π±ΡΡΡ ΠΎΡΡΠΎΡΠΎΠΆΠ½ΡΠΌ, Π²Π΅Π΄Ρ ΡΠ΄Π²ΠΈΠ½ΡΡΡΠ΅ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Ρ $1 ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π½Π΅ Π²ΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΡΡ Π² ΠΏΠ΅ΡΠΈΠΎΠ΄ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΎΠΏΡΠΈΠΉ Π² Bash
ΠΠΎΠΌΠΈΠΌΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΠΊΡΠΈΠΏΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΠΎΠΏΡΠΈΠΈ β Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΡΠΎΡΡΠΎΡΡΠΈΠ΅ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ Π±ΡΠΊΠ²Ρ, ΠΏΠ΅ΡΠ΅Π΄ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΏΠΈΡΠ΅ΡΡΡ Π΄Π΅ΡΠΈΡ. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ 3 ΠΌΠ΅ΡΠΎΠ΄Π° ΡΠ°Π±ΠΎΡΡ Ρ Π½ΠΈΠΌΠΈ Π² ΡΠΊΡΠΈΠΏΡΠ°Ρ . Π‘ΠΏΠ΅ΡΠ²Π° ΠΊΠ°ΠΆΠ΅ΡΡΡ, ΡΡΠΎ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΎΠΏΡΠΈΡΠΌΠΈ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΠΊΠ°ΠΊΠΈΡ -Π»ΠΈΠ±ΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ. ΠΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π·Π°Π΄Π°Π½Ρ ΠΏΠΎΡΠ»Π΅ ΠΈΠΌΠ΅Π½ΠΈ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠ°ΠΊ ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ. ΠΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΎΠΏΡΠΈΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΏΠΎ ΡΠ°ΠΊΠΎΠΌΡ ΠΆΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ, ΠΊΠ°ΠΊ ΡΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ.
ΠΠΎ ΠΏΡΠΈΠΌΠ΅ΡΡ Π²ΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ shift Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΎΡΡΡΡ ΠΎΠΏΡΠΈΠΉ. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ case ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ, ΡΠ²Π»ΡΡΡΡΡ Π»ΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ Bash ΠΎΠΏΡΠΈΡΠΌΠΈ:
ΠΡΠΈΠΌΠ΅Ρ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ:
ΠΠ»ΠΎΠΊ case ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π²Π½Π΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ bash.
ΠΡΠ²ΠΎΠ΄Ρ
ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ²ΠΎΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π±ΠΎΠ»Π΅Π΅ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΉ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Bash. ΠΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, Π² Π½Π°Π·Π²Π°Π½ΠΈΡΡ ΠΊΠΎΡΠΎΡΡΡ ΡΠΈΠ³ΡΡΠΈΡΡΠ΅Ρ ΡΠΈΡΠ»ΠΎ, ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°ΡΡ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΡΠΊΠ°Π·Π°Π½Π½ΡΡ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ².
ΠΠΎΠΌΠ°Π½Π΄Π° basename ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΠ±ΡΠ΅Π·Π°Π½ΠΈΡ ΠΏΡΡΠΈ Π·Π°ΠΏΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΡΠ΅Π½Π°ΡΠΈΡ, ΡΡΠΎ ΡΠ°ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π³ΠΈΠ±ΠΊΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ shift ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡΡ ΠΏΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΠΌ ΡΠΊΡΠΈΠΏΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΊΠΎΠ³Π΄Π° ΠΈΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ.