ΠΠ°Ρ ΡΠΊΡΠΈΠΏΡΠΈ: ΠΏΠΎΡΠ΅ΡΠΎΠΊ
ΠΠ°Ρ ΡΠΊΡΠΈΠΏΡΠΈ ΠΠ΅Π» 2: ΠΠ°ΠΌΠΊΠΈ
Bash ΡΠΊΡΠΈΠΏΡΠΈ, ΠΠ΅Π» 3: ΠΠΏΡΠΈΠΈ ΠΈ ΠΏΡΠ΅ΠΊΠΈΠ½ΡΠ²Π°ΡΠΈ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½Π°ΡΠ° Π»ΠΈΠ½ΠΈΡΠ°
Bash ΡΠΊΡΠΈΠΏΡΠΈ ΠΠ΅Π» 4: ΠΠ»Π΅Π· ΠΈ ΠΈΠ·Π»Π΅Π·
ΠΠ°Ρ ΡΠΊΡΠΈΠΏΡΠΈ, Π΄Π΅Π» 5: ΡΠΈΠ³Π½Π°Π»ΠΈ, Π·Π°Π΄Π°ΡΠΈ Π²ΠΎ Π·Π°Π΄Π½ΠΈΠ½Π°, ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠ΅ ΡΠΎ ΡΠΊΡΠΈΠΏΡΠΈ
ΠΠ°Ρ ΡΠΊΡΠΈΠΏΡΠΈ, ΠΠ΅Π» 6: Π€ΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΡΠ°Π·Π²ΠΎΡ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°
ΠΠ°Ρ ΡΠΊΡΠΈΠΏΡΠΈ, ΠΠ΅Π» 7: sed ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΡΠ΅ΠΊΡΡ
ΠΠ°Ρ ΡΠΊΡΠΈΠΏΡΠΈ, Π΄Π΅Π» 8: awk ΡΠ°Π·ΠΈΠΊ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ
ΠΠ°Ρ ΡΠΊΡΠΈΠΏΡΠΈ ΠΠ΅Π» 9: Π Π΅Π΄ΠΎΠ²Π½ΠΈ ΠΈΠ·ΡΠ°Π·ΠΈ
ΠΠ°Ρ ΡΠΊΡΠΈΠΏΡΠΈ ΠΠ΅Π» 10: ΠΡΠ°ΠΊΡΠΈΡΠ½ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠΈ
ΠΠ°Ρ ΡΠΊΡΠΈΠΏΡΠΈ, Π΄Π΅Π» 11: ΠΎΡΠ΅ΠΊΡΠ²Π°ΡΠ΅ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡΠ° Π½Π° ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΈ ΠΊΠΎΠΌΡΠ½Π°Π»Π½ΠΈ ΡΡΠ»ΡΠ³ΠΈ
ΠΠ΅Π½Π΅Ρ ΡΠ΅ Π·Π±ΠΎΡΡΠ²Π°ΠΌΠ΅ Π·Π° Π±Π°Ρ ΡΠΊΡΠΈΠΏΡΠΈ. ΠΠ²Π° -
Π‘ΠΊΡΠΈΠΏΡΠΈΡΠ΅ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½Π°ΡΠ° Π»ΠΈΠ½ΠΈΡΠ° ΡΠ΅ Π·Π±ΠΈΡΠΊΠΈ ΠΎΠ΄ ΠΈΡΡΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ ΠΊΠΎΠΈ ΠΌΠΎΠΆΠ°Ρ Π΄Π° ΡΠ΅ Π²Π½Π΅ΡΠ°Ρ ΠΎΠ΄ ΡΠ°ΡΡΠ°ΡΡΡΠ°ΡΠ°, Π΄Π° ΡΠ΅ ΡΠΎΠ±Π΅ΡΠ°Ρ Π²ΠΎ Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ ΠΈ Π΄Π° ΡΠ΅ ΠΎΠ±Π΅Π΄ΠΈΠ½Π°Ρ ΡΠΎ Π½Π΅ΠΊΠΎΡΠ° Π·Π°Π΅Π΄Π½ΠΈΡΠΊΠ° ΡΠ΅Π». ΠΠΎ ΠΎΠ²ΠΎΡ ΡΠ»ΡΡΠ°Ρ, ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈΡΠ΅ ΠΎΠ΄ ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΡΠΈΠΌΠΎΠ²ΠΈΡΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ°Π°Ρ Π½Π΅Π·Π°Π²ΠΈΡΠ½Π° Π²ΡΠ΅Π΄Π½ΠΎΡΡ ΠΈΠ»ΠΈ Π΄Π° ΡΠ»ΡΠΆΠ°Ρ ΠΊΠ°ΠΊΠΎ Π²Π»Π΅Π·Π½ΠΈ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π·Π° Π΄ΡΡΠ³ΠΈΡΠ΅ ΡΠΈΠΌΠΎΠ²ΠΈ. Π‘ΠΊΡΠΈΠΏΡΠΈΡΠ΅ ΡΠ΅ ΠΌΠΎΡΠ΅Π½ Π½Π°ΡΠΈΠ½ Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠ°ΡΠ΅ Π½Π° ΡΠ΅ΡΡΠΎ ΠΈΠ·Π²ΡΡΠ΅Π½ΠΈΡΠ΅ Π΄Π΅ΡΡΡΠ²Π°.
ΠΠ½Π°ΡΠΈ, Π°ΠΊΠΎ Π·Π±ΠΎΡΡΠ²Π°ΠΌΠ΅ Π·Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½Π°ΡΠ° Π»ΠΈΠ½ΠΈΡΠ°, ΡΠ°Π° Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° ΠΈΠ·Π²ΡΡΠΈΡΠ΅ Π½Π΅ΠΊΠΎΠ»ΠΊΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ ΠΎΠ΄Π΅Π΄Π½Π°Ρ ΡΠΎ Π²Π½Π΅ΡΡΠ²Π°ΡΠ΅ Π½Π° Π½ΠΈΠ² ΠΎΠ΄Π΄Π΅Π»Π΅Π½ΠΈ ΡΠΎ ΡΠΎΡΠΊΠ°-Π·Π°ΠΏΠΈΡΠΊΠ°:
pwd ; whoami
ΠΡΡΡΠ½ΠΎΡΡ, Π°ΠΊΠΎ ΡΡΠ΅ Π³ΠΎ ΠΏΡΠΎΠ±Π°Π»Π΅ ΠΎΠ²Π° Π²ΠΎ Π²Π°ΡΠΈΠΎΡ ΡΠ΅ΡΠΌΠΈΠ½Π°Π», Π²Π°ΡΠ°ΡΠ° ΠΏΡΠ²Π° Π±Π°Ρ ΡΠΊΡΠΈΠΏΡΠ° ΠΊΠΎΡΠ° Π²ΠΊΠ»ΡΡΡΠ²Π° Π΄Π²Π΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π΅ Π²Π΅ΡΠ΅ Π½Π°ΠΏΠΈΡΠ°Π½Π°. Π Π°Π±ΠΎΡΠΈ Π²Π°ΠΊΠ°. Π’ΠΈΠΌ ΠΏΡΠ²ΠΎ pwd
ΠΏΡΠΈΠΊΠ°ΠΆΡΠ²Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π·Π° ΡΠ΅ΠΊΠΎΠ²Π½ΠΈΠΎΡ ΡΠ°Π±ΠΎΡΠ΅Π½ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΠΌ, ΠΏΠΎΡΠΎΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° whoami
ΠΏΠΎΠΊΠ°ΠΆΡΠ²Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π·Π° ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠΎΡ ΠΊΠ°ΠΊΠΎ ΡΡΠΎ ΡΡΠ΅ Π½Π°ΡΠ°Π²Π΅Π½ΠΈ.
ΠΠΎΡΠΈΡΡΠ΅ΡΡΠΈ Π³ΠΎ ΠΎΠ²ΠΎΡ ΠΏΡΠΈΡΡΠ°ΠΏ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠ°ΡΠ΅ ΠΎΠ½ΠΎΠ»ΠΊΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ ΠΊΠΎΠ»ΠΊΡ ΡΡΠΎ ΡΠ°ΠΊΠ°ΡΠ΅ Π½Π° Π΅Π΄Π½Π° Π»ΠΈΠ½ΠΈΡΠ°, Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½ΠΎΡΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΡΠ²Π°ΡΠ΅ Π΅ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½ΠΈΠΎΡ Π±ΡΠΎΡ Π½Π° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΈ ΡΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΡΠ΅Π½Π΅ΡΠ°Ρ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ°. ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π³ΠΎ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°ΡΠ΅ ΠΎΠ²Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΡΠ²Π°ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ ΡΠ° ΡΠ»Π΅Π΄Π½Π°Π²Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°:
getconf ARG_MAX
ΠΠΎΠΌΠ°Π½Π΄Π½Π°ΡΠ° Π»ΠΈΠ½ΠΈΡΠ° Π΅ ΠΎΠ΄Π»ΠΈΡΠ½Π° Π°Π»Π°ΡΠΊΠ°, Π½ΠΎ ΠΌΠΎΡΠ° Π΄Π° Π²Π½Π΅ΡΡΠ²Π°ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π²ΠΎ Π½Π΅Π° ΡΠ΅ΠΊΠΎΠ³Π°Ρ ΠΊΠΎΠ³Π° ΡΠ΅ Π²ΠΈ Π±ΠΈΠ΄Π°Ρ ΠΏΠΎΡΡΠ΅Π±Π½ΠΈ. Π¨ΡΠΎ Π°ΠΊΠΎ Π½Π°ΠΏΠΈΡΠ΅ΠΌΠ΅ Π·Π±ΠΈΡ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π²ΠΎ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° ΠΈ Π΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΎ ΡΠ° ΠΏΠΎΠ²ΠΈΠΊΠ°ΠΌΠ΅ ΡΠ°Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° Π·Π° Π΄Π° Π³ΠΈ ΠΈΠ·Π²ΡΡΠΈ? ΠΡΡΡΠ½ΠΎΡΡ, Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°ΡΠ° Π·Π° ΠΊΠΎΡΠ° Π·Π±ΠΎΡΡΠ²Π°ΠΌΠ΅ ΡΠ΅ Π½Π°ΡΠ΅ΠΊΡΠ²Π° ΡΠΊΡΠΈΠΏΡΠ° Π·Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½Π° Π»ΠΈΠ½ΠΈΡΠ°.
ΠΠ°ΠΊΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ°Π°Ρ Π±Π°Ρ ΡΠΊΡΠΈΠΏΡΠΈΡΠ΅
ΠΠ°ΠΏΡΠ°Π²Π΅ΡΠ΅ ΠΏΡΠ°Π·Π½Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° touch
. ΠΠ΅ΡΠ·ΠΈΠ½Π°ΡΠ° ΠΏΡΠ²Π° Π»ΠΈΠ½ΠΈΡΠ° ΡΡΠ΅Π±Π° Π΄Π° ΠΎΠ·Π½Π°ΡΠΈ ΠΊΠΎΡΠ° ΡΠΊΠΎΠ»ΠΊΠ° ΡΠ΅ ΡΠ° ΠΊΠΎΡΠΈΡΡΠΈΠΌΠ΅. ΠΠΈΠ΅ ΡΠΌΠ΅ Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΈΡΠ°Π½ΠΈ Π·Π° bash
, ΡΠ°ΠΊΠ° ΡΡΠΎ ΠΏΡΠ²Π°ΡΠ° Π»ΠΈΠ½ΠΈΡΠ° ΠΎΠ΄ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°ΡΠ° ΡΠ΅ Π±ΠΈΠ΄Π΅:
#!/bin/bash
ΠΡΡΠ³ΠΈΡΠ΅ Π»ΠΈΠ½ΠΈΠΈ Π²ΠΎ ΠΎΠ²Π°Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° Π³ΠΎ ΠΊΠΎΡΠΈΡΡΠ°Ρ ΡΠΈΠΌΠ±ΠΎΠ»ΠΎΡ Π·Π° Ρ
Π°Ρ Π·Π° Π΄Π° ΠΎΠ·Π½Π°ΡΠ°Ρ ΠΊΠΎΠΌΠ΅Π½ΡΠ°ΡΠΈ ΡΡΠΎ ΡΠΊΠΎΠ»ΠΊΠ°ΡΠ° Π½Π΅ Π³ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠ²Π°. Π‘Π΅ΠΏΠ°ΠΊ, ΠΏΡΠ²ΠΈΠΎΡ ΡΠ΅Π΄ Π΅ ΠΏΠΎΡΠ΅Π±Π΅Π½ ΡΠ»ΡΡΠ°Ρ, ΠΈΠΌΠ° Ρ
Π°Ρ ΠΏΡΠΎΡΠ»Π΅Π΄Π΅Π½ ΡΠΎ ΠΈΠ·Π²ΠΈΡΠ½ΠΈΠΊ (ΠΎΠ²Π°Π° Π½ΠΈΠ·Π° ΡΠ΅ Π½Π°ΡΠ΅ΠΊΡΠ²Π° bash
, ΠΎΠ·Π½Π°ΡΠ΅ΡΠ΅ ΠΌΡ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΎΡ Π΄Π΅ΠΊΠ° ΡΠΊΡΠΈΠΏΡΠ°ΡΠ° Π΅ ΡΠΎΠ·Π΄Π°Π΄Π΅Π½Π° ΡΠΏΠ΅ΡΠΈΡΠ°Π»Π½ΠΎ Π·Π° bash
.
ΠΠΎΠΌΠ°Π½Π΄ΠΈΡΠ΅ Π½Π° ΡΠΊΠΎΠ»ΠΊΠ° ΡΠ΅ ΠΎΠ΄Π΄Π΅Π»Π΅Π½ΠΈ ΡΠΎ Π΄ΠΎΠ²ΠΎΠ΄ Π½Π° Π»ΠΈΠ½ΠΈΡΠ°, ΠΊΠΎΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ΅ ΡΠ΅ ΠΎΠ΄Π΄Π΅Π»Π΅Π½ΠΈ ΡΠΎ Π·Π½Π°ΠΊ Π·Π° Ρ Π°Ρ. ΠΠ°ΠΊΠ° ΠΈΠ·Π³Π»Π΅Π΄Π°:
#!/bin/bash
# This is a comment
pwd
whoami
ΠΠ²Π΄Π΅, ΠΈΡΡΠΎ ΠΊΠ°ΠΊΠΎ ΠΈ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½Π°ΡΠ° Π»ΠΈΠ½ΠΈΡΠ°, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΠΈΡΡΠ²Π°ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π½Π° Π΅Π΄Π½Π° Π»ΠΈΠ½ΠΈΡΠ°, ΠΎΠ΄Π΄Π΅Π»Π΅Π½ΠΈ ΡΠΎ ΡΠΎΡΠΊΠ°-Π·Π°ΠΏΠΈΡΠΊΠ°. ΠΠ΅ΡΡΡΠΎΠ°, Π°ΠΊΠΎ Π³ΠΈ Π½Π°ΠΏΠΈΡΠ΅ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡΠ΅ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π»ΠΈΠ½ΠΈΠΈ, Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°ΡΠ° Π΅ ΠΏΠΎΠ»Π΅ΡΠ½Π° Π·Π° ΡΠΈΡΠ°ΡΠ΅. ΠΠΎ ΡΠ΅ΠΊΠΎΡ ΡΠ»ΡΡΠ°Ρ, Π»ΡΡΠΏΠ°ΡΠ° ΡΠ΅ Π³ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΈ.
ΠΠΎΡΡΠ°Π²ΡΠ²Π°ΡΠ΅ Π΄ΠΎΠ·Π²ΠΎΠ»ΠΈ Π·Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ ΡΠΎ ΡΠΊΡΠΈΠΏΡΠΈ
ΠΠ°ΡΡΠ²Π°ΡΡΠ΅ ΡΠ° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°ΡΠ° Π΄Π°Π²Π°ΡΡΠΈ ΠΈ ΠΈΠΌΠ΅ myscript
, Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π·Π° ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ Π½Π° Π±Π°Ρ ΡΠΊΡΠΈΠΏΡΠ°ΡΠ° Π΅ ΡΠ΅ΡΠΈΡΠΈ Π·Π°Π²ΡΡΠ΅Π½Π°. Π‘Π΅Π³Π° ΠΎΡΡΠ°Π½ΡΠ²Π° ΡΠ°ΠΌΠΎ ΠΎΠ²Π°Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° Π΄Π° ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈ ΠΈΠ·Π²ΡΡΠ½Π°, ΠΈΠ½Π°ΠΊΡ, Π°ΠΊΠΎ ΡΠ΅ ΠΎΠ±ΠΈΠ΄Π΅ΡΠ΅ Π΄Π° ΡΠ° ΠΈΠ·Π²ΡΡΠΈΡΠ΅, ΡΠ΅ Π½Π°ΠΈΠ΄Π΅ΡΠ΅ Π½Π° Π³ΡΠ΅ΡΠΊΠ° Permission denied
.
ΠΠ±ΠΈΠ΄ Π·Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ Π½Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° ΡΠΎ ΡΠΊΡΠΈΠΏΡΠ° ΡΠΎ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½ΠΈ Π΄ΠΎΠ·Π²ΠΎΠ»ΠΈ
ΠΠ° ΡΠ° Π½Π°ΠΏΡΠ°Π²ΠΈΠΌΠ΅ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°ΡΠ° ΠΈΠ·Π²ΡΡΠ½Π°:
chmod +x ./myscript
Π‘Π΅Π³Π° Π΄Π° ΡΠ΅ ΠΎΠ±ΠΈΠ΄Π΅ΠΌΠ΅ Π΄Π° Π³ΠΎ ΠΈΠ·Π²ΡΡΠΈΠΌΠ΅:
./myscript
ΠΠΎ ΠΏΠΎΡΡΠ°Π²ΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° Π΄ΠΎΠ·Π²ΠΎΠ»ΠΈΡΠ΅, ΡΓ¨ ΡΠ°Π±ΠΎΡΠΈ ΠΊΠ°ΠΊΠΎ ΡΡΠΎ ΡΡΠ΅Π±Π°.
ΠΠ°Ρ ΡΠΊΡΠΈΠΏΡΠ°ΡΠ° ΡΡΠΏΠ΅ΡΠ½ΠΎ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π°
ΠΠ·Π»Π΅Π· Π½Π° ΠΏΠΎΡΠ°ΠΊΠ°
ΠΠ° Π΄Π° ΠΈΠ·Π»Π΅Π·Π΅ΡΠ΅ ΡΠ΅ΠΊΡΡ Π½Π° ΠΊΠΎΠ½Π·ΠΎΠ»Π°ΡΠ° Π½Π° Linux, ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° echo
. ΠΡΠ΄Π΅ Π΄Π° Π³ΠΎ ΠΈΡΠΊΠΎΡΠΈΡΡΠΈΠΌΠ΅ Π·Π½Π°Π΅ΡΠ΅ΡΠΎ Π·Π° ΠΎΠ²ΠΎΡ ΡΠ°ΠΊΡ ΠΈ Π΄Π° ΡΠ° ΡΡΠ΅Π΄ΠΈΠΌΠ΅ Π½Π°ΡΠ°ΡΠ° ΡΠΊΡΠΈΠΏΡΠ°, Π΄ΠΎΠ΄Π°Π²Π°ΡΡΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΡΠ²Π°ΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ ΡΡΠΎ ΡΠ΅ Π΅ΠΌΠΈΡΡΠ²Π°Π°Ρ ΡΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡΠ΅ Π²Π΅ΡΠ΅ Π²ΠΎ Π½Π΅Π³ΠΎ:
#!/bin/bash
# our comment is here
echo "The current directory is:"
pwd
echo "The user logged in is:"
whoami
ΠΠ²Π° ΡΠ΅ ΡΠ»ΡΡΡΠ²Π° ΠΏΠΎ ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° Π°ΠΆΡΡΠΈΡΠ°Π½Π°ΡΠ° ΡΠΊΡΠΈΠΏΡΠ°.
ΠΠ·Π΄Π°Π²Π°ΡΠ΅ ΠΏΠΎΡΠ°ΠΊΠΈ ΠΎΠ΄ ΡΠΊΡΠΈΠΏΡΠ°
Π‘Π΅Π³Π° ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° ΠΏΡΠΈΠΊΠ°ΠΆΠ΅ΠΌΠ΅ ΠΎΠ±ΡΠ°ΡΠ½ΡΠ²Π°ΡΠΊΠΈ Π±Π΅Π»Π΅ΡΠΊΠΈ ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° echo
. ΠΠΊΠΎ Π½Π΅ Π·Π½Π°Π΅ΡΠ΅ ΠΊΠ°ΠΊΠΎ Π΄Π° ΡΡΠ΅Π΄ΡΠ²Π°ΡΠ΅ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ Π³ΠΈ Π°Π»Π°ΡΠΊΠΈΡΠ΅ Π½Π° Linux, ΠΈΠ»ΠΈ Π½Π΅ ΡΡΠ΅ ΡΠ° Π²ΠΈΠ΄Π΅Π»Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° ΠΏΡΠ΅ΡΡ
ΠΎΠ΄Π½ΠΎ echo
, ΠΠΎΠ³Π»Π΅Π΄Π½ΠΈ
ΠΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ
ΠΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈΡΠ΅ Π²ΠΈ Π΄ΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Π°Ρ Π΄Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π²ΠΎ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° ΡΠΎ ΡΠΊΡΠΈΠΏΡΠ°, ΠΊΠ°ΠΊΠΎ ΡΡΠΎ ΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈΡΠ΅ ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡΠ΅, Π·Π° ΡΠΏΠΎΡΡΠ΅Π±Π° ΠΎΠ΄ Π΄ΡΡΠ³ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ.
ΠΠ΅ΠΌΠ° Π½ΠΈΡΡΠΎ Π»ΠΎΡΠΎ Π²ΠΎ ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΠΏΠΎΠ΅Π΄ΠΈΠ½Π΅ΡΠ½ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π±Π΅Π· Π·Π°ΡΡΠ²ΡΠ²Π°ΡΠ΅ Π½Π° Π½ΠΈΠ²Π½ΠΈΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈ, Π½ΠΎ ΠΎΠ²ΠΎΡ ΠΏΡΠΈΡΡΠ°ΠΏ Π΅ Π΄ΠΎΡΡΠ° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ Π²ΠΎ ΡΠ²ΠΎΠΈΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ.
ΠΠΎΡΡΠΎΡΠ°Ρ Π΄Π²Π° ΡΠΈΠΏΠ° Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ ΠΊΠΎΠΈ ΠΌΠΎΠΆΠ°Ρ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ°Ρ Π²ΠΎ Π±Π°Ρ ΡΠΊΡΠΈΠΏΡΠΈΡΠ΅:
- ΠΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π½Π° ΠΆΠΈΠ²ΠΎΡΠ½Π°ΡΠ° ΡΡΠ΅Π΄ΠΈΠ½Π°
- ΠΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΈ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ
ΠΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π½Π° ΠΆΠΈΠ²ΠΎΡΠ½Π°ΡΠ° ΡΡΠ΅Π΄ΠΈΠ½Π°
ΠΠΎΠ½Π΅ΠΊΠΎΠ³Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡΠ΅ Π½Π° ΡΠΊΠΎΠ»ΠΊΠ° ΡΡΠ΅Π±Π° Π΄Π° ΡΠ°Π±ΠΎΡΠ°Ρ ΡΠΎ Π½Π΅ΠΊΠΎΠΈ ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΈ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ. ΠΠ²Π΅ ΠΏΡΠΈΠΌΠ΅Ρ Π·Π° ΡΠΎΠ° ΠΊΠ°ΠΊΠΎ Π΄Π° ΡΠ΅ ΠΏΡΠΈΠΊΠ°ΠΆΠ΅ Π΄ΠΎΠΌΠ°ΡΠ½ΠΈΠΎΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΠΌ Π½Π° ΡΠ΅ΠΊΠΎΠ²Π½ΠΈΠΎΡ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊ:
#!/bin/bash
# display user home
echo "Home for the current user is: $HOME"
ΠΠ΅ ΠΌΠΎΠ»ΠΈΠΌΠ΅ ΠΈΠΌΠ°ΡΡΠ΅ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ Π΄Π΅ΠΊΠ° ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° ΠΊΠΎΡΠΈΡΡΠΈΠΌΠ΅ ΡΠΈΡΡΠ΅ΠΌΡΠΊΠ° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° $HOME
Π²ΠΎ Π΄Π²ΠΎΡΠ½ΠΈ Π½Π°Π²ΠΎΠ΄Π½ΠΈΡΠΈ, ΠΎΠ²Π° Π½Π΅ΠΌΠ° Π΄Π° Π³ΠΎ ΡΠΏΡΠ΅ΡΠΈ ΡΠΈΡΡΠ΅ΠΌΠΎΡ Π΄Π° Π³ΠΎ ΠΏΡΠ΅ΠΏΠΎΠ·Π½Π°Π΅. ΠΠ²Π° Π΅ ΠΎΠ½Π° ΡΡΠΎ Π³ΠΎ Π΄ΠΎΠ±ΠΈΠ²Π°ΡΠ΅ Π°ΠΊΠΎ Π³ΠΎ ΠΈΠ·Π²ΡΡΠΈΡΠ΅ Π³ΠΎΡΠ΅Π½Π°Π²Π΅Π΄Π΅Π½ΠΎΡΠΎ ΡΡΠ΅Π½Π°ΡΠΈΠΎ.
ΠΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° Π½Π° ΠΎΠΊΠΎΠ»ΠΈΠ½Π°ΡΠ° Π²ΠΎ ΡΠΊΡΠΈΠΏΡΠ°
Π¨ΡΠΎ Π°ΠΊΠΎ ΡΡΠ΅Π±Π° Π΄Π° ΠΏΡΠΈΠΊΠ°ΠΆΠ΅ΡΠ΅ Π·Π½Π°ΠΊ Π·Π° Π΄ΠΎΠ»Π°Ρ Π½Π° Π΅ΠΊΡΠ°Π½ΠΎΡ? ΠΡΠ΄Π΅ Π΄Π° Π³ΠΎ ΠΏΡΠΎΠ±Π°ΠΌΠ΅ ΠΎΠ²Π°:
echo "I have $1 in my pocket"
Π‘ΠΈΡΡΠ΅ΠΌΠΎΡ ΡΠ΅ ΠΎΡΠΊΡΠΈΠ΅ Π·Π½Π°ΠΊ Π·Π° Π΄ΠΎΠ»Π°Ρ Π²ΠΎ ΡΠΈΡΠΈΡΠ°Π½Π° Π½ΠΈΠ·Π° ΠΈ ΡΠ΅ ΠΏΡΠ΅ΡΠΏΠΎΡΡΠ°Π²ΠΈ Π΄Π΅ΠΊΠ° ΡΠ΅ΡΠ΅ΡΠ΅Π½ΡΠΈΡΠ°Π²ΠΌΠ΅ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°. Π‘ΠΊΡΠΈΠΏΡΠ°ΡΠ° ΡΠ΅ ΡΠ΅ ΠΎΠ±ΠΈΠ΄Π΅ Π΄Π° ΡΠ° ΠΏΡΠΈΠΊΠ°ΠΆΠ΅ Π²ΡΠ΅Π΄Π½ΠΎΡΡΠ° Π½Π° Π½Π΅Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° $1
. ΠΠ²Π° Π½Π΅ Π΅ ΠΎΠ½Π° ΡΡΠΎ Π½ΠΈ ΡΡΠ΅Π±Π°. Π¨ΡΠΎ Π΄Π° ΡΠ΅ ΠΏΡΠ°Π²ΠΈ?
ΠΠΎ ΠΎΠ²Π°Π° ΡΠΈΡΡΠ°ΡΠΈΡΠ°, ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ΡΠΎ Π½Π° Π·Π½Π°ΠΊΠΎΡ Π·Π° Π±Π΅Π³ΡΡΠ²ΠΎ, ΠΎΠ±ΡΠ°ΡΠ½Π° ΠΊΠΎΡΠ° ΡΡΡΠ°, ΠΏΡΠ΅Π΄ Π·Π½Π°ΠΊΠΎΡ Π·Π° Π΄ΠΎΠ»Π°Ρ ΡΠ΅ ΠΏΠΎΠΌΠΎΠ³Π½Π΅:
echo "I have $1 in my pocket"
Π‘ΠΊΡΠΈΠΏΡΠ°ΡΠ° ΡΠ΅Π³Π° ΡΠ΅ ΠΈΠ·Π»Π΅Π·Π΅ ΡΠΎΠΊΠΌΡ ΠΎΠ½Π° ΡΡΠΎ ΡΠ΅ ΠΎΡΠ΅ΠΊΡΠ²Π°.
ΠΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° Π½ΠΈΠ·Π° Π·Π° Π±Π΅Π³ΡΡΠ²ΠΎ Π·Π° ΠΏΠ΅ΡΠ°ΡΠ΅ΡΠ΅ Π·Π½Π°ΠΊ Π·Π° Π΄ΠΎΠ»Π°Ρ
ΠΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΈ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ
ΠΠΎΠΊΡΠ°Ρ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈΡΠ΅ Π½Π° ΠΎΠΊΠΎΠ»ΠΈΠ½Π°ΡΠ°, Π±Π°Ρ ΡΠΊΡΠΈΠΏΡΠΈΡΠ΅ Π²ΠΈ Π΄ΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Π°Ρ Π΄Π° Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°ΡΠ΅ ΠΈ ΠΊΠΎΡΠΈΡΡΠΈΡΠ΅ ΡΠΎΠΏΡΡΠ²Π΅Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π²ΠΎ ΡΠΊΡΠΈΠΏΡΠ°ΡΠ°. ΠΠ°ΠΊΠ²ΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ ΠΈΠΌΠ°Π°Ρ Π²ΡΠ΅Π΄Π½ΠΎΡΡ Π΄ΠΎΠ΄Π΅ΠΊΠ° ΡΠΊΡΠΈΠΏΡΠ°ΡΠ° Π½Π΅ Π·Π°Π²ΡΡΠΈ ΡΠΎ ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅.
ΠΠ°ΠΊΠΎ ΠΈ ΠΊΠ°Ρ ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ, Π΄ΠΎ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΡΠΈΡΡΠ°ΠΏΠΈ ΡΠΎ ΠΏΠΎΠΌΠΎΡ Π½Π° Π·Π½Π°ΠΊΠΎΡ Π΄ΠΎΠ»Π°Ρ:
TNW-CUS-FMP - ΠΏΡΠΎΠΌΠΎΡΠΈΠ²Π΅Π½ ΠΊΠΎΠ΄ Π·Π° 10% ΠΏΠΎΠΏΡΡΡ Π½Π° Π½Π°ΡΠΈΡΠ΅ ΡΡΠ»ΡΠ³ΠΈ, Π΄ΠΎΡΡΠ°ΠΏΠ΅Π½ Π·Π° Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΡΠ΅ Π²ΠΎ ΡΠΎΠΊ ΠΎΠ΄ 7 Π΄Π΅Π½Π°
#!/bin/bash
# testing variables
grade=5
person="Adam"
echo "$person is a good boy, he is in grade $grade"
ΠΠ²Π° ΡΠ΅ ΡΠ»ΡΡΡΠ²Π° ΠΏΠΎ ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΡΠ°ΠΊΠ²Π° ΡΠΊΡΠΈΠΏΡΠ°.
ΠΡΠΈΠ»Π°Π³ΠΎΠ΄Π΅Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π²ΠΎ ΡΠΊΡΠΈΠΏΡΠ°
ΠΠ°ΠΌΠ΅Π½Π° Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ
ΠΠ΄Π½Π° ΠΎΠ΄ Π½Π°ΡΠΊΠΎΡΠΈΡΠ½ΠΈΡΠ΅ ΠΊΠ°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π½Π° Π±Π°Ρ ΡΠΊΡΠΈΠΏΡΠΈΡΠ΅ Π΅ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠ° Π΄Π° ΡΠ΅ ΠΈΠ·Π²Π»Π΅ΡΠ°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎΠ΄ ΠΈΠ·Π»Π΅Π·ΠΎΡ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° ΠΈ Π΄Π° ΡΠ΅ Π΄ΠΎΠ΄Π΅Π»ΡΠ²Π°Π°Ρ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ, ΡΡΠΎ ΡΠ΅ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠΈ Π΄Π° Π³ΠΈ ΠΊΠΎΡΠΈΡΡΠΈΡΠ΅ ΠΎΠ²ΠΈΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΊΠ°Π΄Π΅ Π±ΠΈΠ»ΠΎ Π²ΠΎ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°ΡΠ° ΡΠΎ ΡΠΊΡΠΈΠΏΡΠ°.
ΠΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈ Π½Π° Π΄Π²Π° Π½Π°ΡΠΈΠ½Π°.
- ΠΠΎΡΠΈΡΡΠ΅ΡΡΠΈ Π³ΠΎ Π·Π°Π΄Π΅Π½ Π·Π½Π°ΠΊ β`β
- ΠΠΎ Π΄ΠΈΠ·Π°ΡΠ½
$()
ΠΠΎΠ³Π° Π³ΠΎ ΠΊΠΎΡΠΈΡΡΠΈΡΠ΅ ΠΏΡΠ²ΠΈΠΎΡ ΠΏΡΠΈΡΡΠ°ΠΏ, Π²Π½ΠΈΠΌΠ°Π²Π°ΡΡΠ΅ Π΄Π° Π½Π΅ Π²ΠΊΠ»ΡΡΠΈΡΠ΅ Π½ΠΈΡΡ Π΅Π΄Π΅Π½ Π½Π°Π²ΠΎΠ΄Π½ΠΈΠΊ Π½Π° ΠΌΠ΅ΡΡΠΎΡΠΎ Π½Π° Π·Π°Π΄Π½ΠΈΠ½Π°ΡΠ°. ΠΠΎΠΌΠ°Π½Π΄Π°ΡΠ° ΠΌΠΎΡΠ° Π΄Π° Π±ΠΈΠ΄Π΅ Π·Π°ΡΠ²ΠΎΡΠ΅Π½Π° Π²ΠΎ Π΄Π²Π΅ ΡΠ°ΠΊΠ²ΠΈ ΠΈΠΊΠΎΠ½ΠΈ:
mydir=`pwd`
ΠΠΎ Π²ΡΠΎΡΠΈΠΎΡ ΠΏΡΠΈΡΡΠ°ΠΏ, ΠΈΡΡΠΎΡΠΎ Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ Π²Π°ΠΊΠ°:
mydir=$(pwd)
Π ΡΡΠ΅Π½Π°ΡΠΈΠΎΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π·Π°Π²ΡΡΠΈ Π²Π°ΠΊΠ°:
#!/bin/bash
mydir=$(pwd)
echo $mydir
ΠΠ° Π²ΡΠ΅ΠΌΠ΅ Π½Π° Π½Π΅Π³ΠΎΠ²ΠΎΡΠΎ ΡΠ°Π±ΠΎΡΠ΅ΡΠ΅, ΠΈΠ·Π»Π΅Π·ΠΎΡ ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° pwd
ΡΠ΅ ΡΠ΅ Π·Π°ΡΡΠ²Π° Π²ΠΎ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° mydir
, ΡΠΈΡΠ° ΡΠΎΠ΄ΡΠΆΠΈΠ½Π°, ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° echo
, ΡΠ΅ ΠΎΠ΄ΠΈ Π½Π° ΠΊΠΎΠ½Π·ΠΎΠ»Π°ΡΠ°.
Π‘ΠΊΡΠΈΠΏΡΠ° ΡΡΠΎ Π³ΠΈ Π·Π°ΡΡΠ²ΡΠ²Π° ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈΡΠ΅ ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° Π²ΠΎ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°
ΠΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠΊΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ
ΠΠ° ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ Π½Π° ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠΊΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π²ΠΎ ΡΠΊΡΠΈΠΏΡΠ° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΊΠΎΡΠΈΡΡΠΈΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡΠ° ΠΊΠ°ΠΊΠΎ $((a+b))
:
#!/bin/bash
var1=$(( 5 + 5 ))
echo $var1
var2=$(( $var1 * 2 ))
echo $var2
ΠΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠΊΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π²ΠΎ ΡΠΊΡΠΈΠΏΡΠ°
Π°ΠΊΠΎ-ΡΠΎΠ³Π°Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Π½Π° ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡΠ°
ΠΠΎ Π½Π΅ΠΊΠΎΠΈ ΡΡΠ΅Π½Π°ΡΠΈΡΠ°, ΡΡΠ΅Π±Π° Π΄Π° Π³ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠ°ΡΠ΅ ΡΠ΅ΠΊΠΎΡ Π½Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ°. ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, Π°ΠΊΠΎ ΠΎΠ΄ΡΠ΅Π΄Π΅Π½Π° Π²ΡΠ΅Π΄Π½ΠΎΡΡ Π΅ ΠΏΠΎΠ³ΠΎΠ»Π΅ΠΌΠ° ΠΎΠ΄ ΠΏΠ΅Ρ, ΡΡΠ΅Π±Π° Π΄Π° ΠΈΠ·Π²ΡΡΠΈΡΠ΅ Π΅Π΄Π½ΠΎ Π΄Π΅ΡΡΡΠ²ΠΎ, Π²ΠΎ ΡΠΏΡΠΎΡΠΈΠ²Π½ΠΎ, Π΄ΡΡΠ³ΠΎ. ΠΠ²Π° Π΅ ΠΏΡΠΈΠΌΠ΅Π½Π»ΠΈΠ²ΠΎ Π²ΠΎ ΠΌΠ½ΠΎΠ³Ρ ΡΠΈΡΡΠ°ΡΠΈΠΈ, ΠΈ ΡΡΠΊΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»Π½Π°ΡΠ° ΡΡΡΡΠΊΡΡΡΠ° ΡΠ΅ Π½ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π΅ if-then
. ΠΠΎ ΡΠ²ΠΎΡΠ°ΡΠ° Π½Π°ΡΠ΅Π΄Π½ΠΎΡΡΠ°Π²Π½Π° ΡΠΎΡΠΌΠ° ΠΈΠ·Π³Π»Π΅Π΄Π° Π²Π°ΠΊΠ°:
if ΠΊΠΎΠΌΠ°Π½Π΄Π°
then
ΠΊΠΎΠΌΠ°Π½Π΄Ρ
fi
ΠΠ²Π΅ ΡΠ°Π±ΠΎΡΠ΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ:
#!/bin/bash
if pwd
then
echo "It works"
fi
ΠΠΎ ΠΎΠ²ΠΎΡ ΡΠ»ΡΡΠ°Ρ, Π°ΠΊΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° Π΅ ΠΈΠ·Π²ΡΡΠ΅Π½Π° pwd
ΡΠ΅ Π·Π°Π²ΡΡΠΈ ΡΡΠΏΠ΅ΡΠ½ΠΎ, ΡΠ΅ΠΊΡΡΠΎΡ βΡΠ°Π±ΠΎΡΠΈβ ΡΠ΅ ΡΠ΅ ΠΏΡΠΈΠΊΠ°ΠΆΠ΅ Π²ΠΎ ΠΊΠΎΠ½Π·ΠΎΠ»Π°ΡΠ°.
ΠΠ° Π³ΠΎ ΠΈΡΠΊΠΎΡΠΈΡΡΠΈΠΌΠ΅ Π·Π½Π°Π΅ΡΠ΅ΡΠΎ ΡΡΠΎ Π³ΠΎ ΠΈΠΌΠ°ΠΌΠ΅ ΠΈ Π΄Π° Π½Π°ΠΏΠΈΡΠ΅ΠΌΠ΅ ΠΏΠΎΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½Π° ΡΠΊΡΠΈΠΏΡΠ°. ΠΠ° ΡΠ΅ΡΠ΅ΠΌΠ΅ Π΄Π΅ΠΊΠ° ΡΡΠ΅Π±Π° Π΄Π° Π½Π°ΡΠ΄Π΅ΠΌΠ΅ ΠΎΠ΄ΡΠ΅Π΄Π΅Π½ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊ Π²ΠΎ /etc/passwd
, Π° Π΄ΠΎΠΊΠΎΠ»ΠΊΡ ΡΡΠΏΠ΅Π°Π²ΡΠ΅ Π΄Π° Π³ΠΎ Π½Π°ΡΠ΄Π΅ΡΠ΅, ΠΏΡΠΈΡΠ°Π²ΠΈΡΠ΅ Π΄Π΅ΠΊΠ° ΠΏΠΎΡΡΠΎΠΈ.
#!/bin/bash
user=likegeeks
if grep $user /etc/passwd
then
echo "The user $user Exists"
fi
ΠΠ²Π° ΡΠ΅ ΡΠ»ΡΡΡΠ²Π° ΠΏΠΎ ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΠΎΠ²Π°Π° ΡΠΊΡΠΈΠΏΡΠ°.
ΠΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΎ ΠΏΡΠ΅Π±Π°ΡΡΠ²Π°ΡΠ΅
Π’ΡΠΊΠ° ΡΠ° ΠΊΠΎΡΠΈΡΡΠ΅Π²ΠΌΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° grep
Π΄Π° Π±Π°ΡΠ°ΡΠ΅ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊ Π²ΠΎ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° /etc/passwd
. ΠΠΎΠΊΠΎΠ»ΠΊΡ ΡΠΈΠΌΠΎΡ grep
Π½Π΅ΠΏΠΎΠ·Π½Π°Ρ Π·Π° Π²Π°Ρ, Π½Π΅Π³ΠΎΠ²ΠΈΠΎΡ ΠΎΠΏΠΈΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π½Π°ΡΠ΄Π΅
ΠΠΎ ΠΎΠ²ΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ, Π°ΠΊΠΎ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠΎΡ Π΅ ΠΏΡΠΎΠ½Π°ΡΠ΄Π΅Π½, ΡΠΊΡΠΈΠΏΡΠ°ΡΠ° ΡΠ΅ ΠΏΡΠΈΠΊΠ°ΠΆΠ΅ ΡΠΎΠΎΠ΄Π²Π΅ΡΠ½Π° ΠΏΠΎΡΠ°ΠΊΠ°. Π¨ΡΠΎ Π°ΠΊΠΎ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠΎΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π½Π°ΡΠ΄Π΅? ΠΠΎ ΠΎΠ²ΠΎΡ ΡΠ»ΡΡΠ°Ρ, ΡΡΠ΅Π½Π°ΡΠΈΠΎΡΠΎ Π΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΎ ΡΠ΅ Π³ΠΎ Π·Π°Π²ΡΡΠΈ ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ΡΠΎ Π±Π΅Π· Π΄Π° Π½ΠΈ ΠΊΠ°ΠΆΠ΅ Π½ΠΈΡΡΠΎ. ΠΠΈ ΡΠ°ΠΊΠ°Π»Π΅ ΡΠΎΡ Π΄Π° Π½ΠΈ ΠΊΠ°ΠΆΠ΅ ΠΈ Π·Π° ΠΎΠ²Π°, ΠΏΠ° ΡΠ΅ Π³ΠΎ ΠΏΠΎΠ΄ΠΎΠ±ΡΠΈΠΌΠ΅ ΠΊΠΎΠ΄ΠΎΡ.
Π°ΠΊΠΎ-ΡΠΎΠ³Π°Ρ-ΠΈΠ½Π°ΠΊΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π½Π° ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡΠ°
ΠΠ° Π΄Π° ΠΌΠΎΠΆΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ° Π΄Π° Π³ΠΈ ΠΏΡΠΈΡΠ°Π²ΠΈ ΠΈ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈΡΠ΅ ΠΎΠ΄ ΡΡΠΏΠ΅ΡΠ½ΠΎΡΠΎ ΠΏΡΠ΅Π±Π°ΡΡΠ²Π°ΡΠ΅ ΠΈ Π½Π΅ΡΡΠΏΠ΅Ρ
ΠΎΡ, ΡΠ΅ ΡΠ° ΠΈΡΠΊΠΎΡΠΈΡΡΠΈΠΌΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡΠ°ΡΠ° if-then-else
. ΠΠ²Π΅ ΠΊΠ°ΠΊΠΎ ΡΠΎΠ° ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ°:
if ΠΊΠΎΠΌΠ°Π½Π΄Π°
then
ΠΊΠΎΠΌΠ°Π½Π΄Ρ
else
ΠΊΠΎΠΌΠ°Π½Π΄Ρ
fi
ΠΠΊΠΎ ΠΏΡΠ²Π°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΡΠ°ΡΠΈ Π½ΡΠ»Π°, ΡΡΠΎ Π·Π½Π°ΡΠΈ Π΄Π΅ΠΊΠ° Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΈΠ·Π²ΡΡΠ΅Π½Π°, ΡΡΠ»ΠΎΠ²ΠΎΡ ΡΠ΅ Π±ΠΈΠ΄Π΅ ΡΠΎΡΠ΅Π½ ΠΈ ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π΅ΠΌΠ° Π΄Π° ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈ ΠΏΠΎ Π³ΡΠ°Π½ΠΊΠ°ΡΠ° else
. ΠΠΎ ΡΠΏΡΠΎΡΠΈΠ²Π½ΠΎ, Π°ΠΊΠΎ ΡΠ΅ Π²ΡΠ°ΡΠΈ Π½Π΅ΡΡΠΎ Π΄ΡΡΠ³ΠΎ ΠΎΡΠ²Π΅Π½ Π½ΡΠ»Π°, ΡΡΠΎ Π±ΠΈ ΡΠΊΠ°ΠΆΠ°Π»ΠΎ Π½Π° Π½Π΅ΡΡΠΏΠ΅Ρ
ΠΈΠ»ΠΈ Π»Π°ΠΆΠ΅Π½ ΡΠ΅Π·ΡΠ»ΡΠ°Ρ, ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡΠ΅ ΠΏΠΎ else
.
ΠΡΠ΄Π΅ Π΄Π° Π³ΠΎ Π½Π°ΠΏΠΈΡΠ΅ΠΌΠ΅ ΡΠ»Π΅Π΄Π½ΠΎΠ²ΠΎ ΡΡΠ΅Π½Π°ΡΠΈΠΎ:
#!/bin/bash
user=anotherUser
if grep $user /etc/passwd
then
echo "The user $user Exists"
else
echo "The user $user doesnβt exist"
fi
ΠΠ΅Π³ΠΎΠ²Π°ΡΠ° Π΅Π³Π·Π΅ΠΊΡΡΠΈΡΠ° ΠΏΠ°Π΄Π½Π° Π²ΠΎ Π²ΠΎΠ΄Π° else
.
ΠΠΎΠ΄Π΅ΡΠ΅ Π½Π° ΡΠΊΡΠΈΠΏΡΠ° ΡΠΎ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡΠ° Π°ΠΊΠΎ-ΡΠΎΠ³Π°Ρ-ΠΈΠ½Π°ΠΊΡ
ΠΠ°, Π΄Π° ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΠΌΠ΅ ΠΈ Π΄Π° ΡΠ΅ Π·Π°ΠΏΡΠ°ΡΠ°ΠΌΠ΅ Π·Π° ΠΏΠΎΡΠ»ΠΎΠΆΠ΅Π½ΠΈ ΡΡΠ»ΠΎΠ²ΠΈ. Π¨ΡΠΎ Π°ΠΊΠΎ ΡΡΠ΅Π±Π° Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΠΈΡΠ΅ Π½Π΅ Π΅Π΄Π΅Π½ ΡΡΠ»ΠΎΠ², ΡΡΠΊΡ Π½Π΅ΠΊΠΎΠ»ΠΊΡ? ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, Π°ΠΊΠΎ ΡΠ΅ Π½Π°ΡΠ΄Π΅ ΡΠ°ΠΊΠ°Π½ΠΈΠΎΡ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊ, ΡΡΠ΅Π±Π° Π΄Π° ΡΠ΅ ΠΏΡΠΈΠΊΠ°ΠΆΠ΅ Π΅Π΄Π½Π° ΠΏΠΎΡΠ°ΠΊΠ°, Π°ΠΊΠΎ Π΅ ΠΈΡΠΏΠΎΠ»Π½Π΅Ρ Π½Π΅ΠΊΠΎΡ Π΄ΡΡΠ³ ΡΡΠ»ΠΎΠ², Π΄Π° ΡΠ΅ ΠΏΡΠΈΠΊΠ°ΠΆΠ΅ Π΄ΡΡΠ³Π° ΠΏΠΎΡΠ°ΠΊΠ° ΠΈΡΠ½. ΠΠΎ ΡΠ°ΠΊΠ²Π° ΡΠΈΡΡΠ°ΡΠΈΡΠ° ΡΠ΅ Π½ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π°Ρ Π²Π³Π½Π΅Π·Π΄Π΅Π½ΠΈΡΠ΅ ΡΡΠ»ΠΎΠ²ΠΈ. ΠΠ·Π³Π»Π΅Π΄Π° Π²Π°ΠΊΠ°:
if ΠΊΠΎΠΌΠ°Π½Π΄Π°1
then
ΠΊΠΎΠΌΠ°Π½Π΄Ρ
elif ΠΊΠΎΠΌΠ°Π½Π΄Π°2
then
ΠΊΠΎΠΌΠ°Π½Π΄Ρ
fi
ΠΠΊΠΎ ΠΏΡΠ²Π°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΡΠ°ΡΠΈ Π½ΡΠ»Π°, ΡΡΠΎ ΡΠΊΠ°ΠΆΡΠ²Π° Π½Π° Π½Π΅ΡΠ·ΠΈΠ½ΠΎΡΠΎ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅, ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡΠ΅ Π²ΠΎ ΠΏΡΠ²ΠΈΠΎΡ Π±Π»ΠΎΠΊ ΡΠ΅ Π±ΠΈΠ΄Π°Ρ ΠΈΠ·Π²ΡΡΠ΅Π½ΠΈ then
, Π²ΠΎ ΡΠΏΡΠΎΡΠΈΠ²Π½ΠΎ, Π°ΠΊΠΎ ΠΏΡΠ²ΠΈΠΎΡ ΡΡΠ»ΠΎΠ² Π΅ Π½Π΅ΡΠΎΡΠ΅Π½ ΠΈ Π°ΠΊΠΎ Π²ΡΠΎΡΠ°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΡΠ°ΡΠΈ Π½ΡΠ»Π°, ΡΠ΅ ΡΠ΅ ΠΈΠ·Π²ΡΡΠΈ Π²ΡΠΎΡΠΈΠΎΡ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄.
#!/bin/bash
user=anotherUser
if grep $user /etc/passwd
then
echo "The user $user Exists"
elif ls /home
then
echo "The user doesnβt exist but anyway there is a directory under /home"
fi
ΠΠΎ ΡΠ°ΠΊΠ²Π° ΡΠΊΡΠΈΠΏΡΠ°, ΠΌΠΎΠΆΠ΅ΡΠ΅, Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π° ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ Π½ΠΎΠ² ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊ ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° useradd
, Π°ΠΊΠΎ ΠΏΡΠ΅Π±Π°ΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π΅ Π΄Π°Π΄Π΅ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈ ΠΈΠ»ΠΈ Π½Π°ΠΏΡΠ°Π²ΠΈ Π½Π΅ΡΡΠΎ Π΄ΡΡΠ³ΠΎ ΠΊΠΎΡΠΈΡΠ½ΠΎ.
Π‘ΠΏΠΎΡΠ΅Π΄Π±Π° Π½Π° Π±ΡΠΎΠ΅Π²ΠΈ
ΠΠΎ ΡΠΊΡΠΈΠΏΡΠΈΡΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠΏΠΎΡΠ΅Π΄ΡΠ²Π°ΡΠ΅ Π½ΡΠΌΠ΅ΡΠΈΡΠΊΠΈ Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈ. ΠΠΎΠ΄ΠΎΠ»Ρ Π΅ Π»ΠΈΡΡΠ° Π½Π° ΡΠ΅Π»Π΅Π²Π°Π½ΡΠ½ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ.
n1 -eq n2
Π‘Π΅ Π²ΡΠ°ΡΠ° ΡΠΎΡΠ½ΠΎ Π°ΠΊΠΎn1
Π΅Π΄Π½Π°ΠΊΠ²ΠΎn2
.
n1 -ge n2
Π‘Π΅ Π²ΡΠ°ΡΠ° ΡΠΎΡΠ½ΠΎ Π°ΠΊΠΎn1
ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΈΠ»ΠΈ Π΅Π΄Π½Π°ΠΊΠ²ΠΈn2
.
n1 -gt n2
Π‘Π΅ Π²ΡΠ°ΡΠ° ΡΠΎΡΠ½ΠΎ Π°ΠΊΠΎn1
ΠΏΠΎΠ΄ΠΎΠ±ΡΠΎn2
.
n1 -le n2
Π‘Π΅ Π²ΡΠ°ΡΠ° ΡΠΎΡΠ½ΠΎ Π°ΠΊΠΎn1
ΠΏΠΎΠΌΠ°Π»ΠΊΡ ΠΈΠ»ΠΈ Π΅Π΄Π½Π°ΠΊΠ²ΠΈn2
.
n1 -lt n2
Π‘Π΅ Π²ΡΠ°ΡΠ° ΡΠΎΡΠ½ΠΎ Π°ΠΊΠΎ n1 Π΅ ΠΏΠΎΠΌΠ°Π»ΠΎ ΠΎΠ΄n2
.
n1 -ne n2
Π‘Π΅ Π²ΡΠ°ΡΠ° ΡΠΎΡΠ½ΠΎ Π°ΠΊΠΎn1
Π½Π΅ Π΅ Π΅Π΄Π½Π°ΠΊΠ²ΠΎn2
.
ΠΠ°ΠΊΠΎ ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π° ΠΏΡΠΎΠ±Π°ΠΌΠ΅ Π΅Π΄Π΅Π½ ΠΎΠ΄ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΈΡΠ΅ Π·Π° ΡΠΏΠΎΡΠ΅Π΄Π±Π°. ΠΠ°Π±Π΅Π»Π΅ΠΆΠ΅ΡΠ΅ Π΄Π΅ΠΊΠ° ΠΈΠ·ΡΠ°Π·ΠΎΡ Π΅ Π·Π°ΡΠ²ΠΎΡΠ΅Π½ Π²ΠΎ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΠΈ Π·Π°Π³ΡΠ°Π΄ΠΈ.
#!/bin/bash
val1=6
if [ $val1 -gt 5 ]
then
echo "The test value $val1 is greater than 5"
else
echo "The test value $val1 is not greater than 5"
fi
ΠΠ²Π° Π΅ ΠΎΠ½Π° ΡΡΠΎ ΠΎΠ²Π°Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠ΅ ΠΈΠ·Π»Π΅Π·Π΅.
Π‘ΠΏΠΎΡΠ΅Π΄Π±Π° Π½Π° Π±ΡΠΎΠ΅Π²ΠΈ Π²ΠΎ ΡΠΊΡΠΈΠΏΡΠΈ
ΠΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° Π²ΡΠ΅Π΄Π½ΠΎΡΡ val1
ΠΏΠΎΠ³ΠΎΠ»Π΅ΠΌΠ° ΠΎΠ΄ 5, Π³ΡΠ°Π½ΠΊΠ°ΡΠ° Π·Π°Π²ΡΡΡΠ²Π° ΡΠΎ ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ then
ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π·Π° ΡΠΏΠΎΡΠ΅Π΄Π±Π° ΠΈ Π²ΠΎ ΠΊΠΎΠ½Π·ΠΎΠ»Π°ΡΠ° ΡΠ΅ ΠΏΡΠΈΠΊΠ°ΠΆΡΠ²Π° ΡΠΎΠΎΠ΄Π²Π΅ΡΠ½Π° ΠΏΠΎΡΠ°ΠΊΠ°.
Π‘ΠΏΠΎΡΠ΅Π΄Π±Π° Π½Π° ΠΆΠΈΡΠΈ
Π‘ΠΊΡΠΈΠΏΡΠΈΡΠ΅ ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° Π³ΠΈ ΡΠΏΠΎΡΠ΅Π΄ΡΠ²Π°Π°Ρ Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈΡΠ΅ Π½Π° Π½ΠΈΠ·Π°ΡΠ°. ΠΠΏΠ΅ΡΠ°ΡΠΎΡΠΈΡΠ΅ Π·Π° ΡΠΏΠΎΡΠ΅Π΄Π±Π° ΠΈΠ·Π³Π»Π΅Π΄Π°Π°Ρ ΠΏΡΠΈΠ»ΠΈΡΠ½ΠΎ Π΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΎ, Π½ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅ Π·Π° ΡΠΏΠΎΡΠ΅Π΄Π±Π° Π½Π° Π½ΠΈΠ·ΠΈ ΠΈΠΌΠ°Π°Ρ ΠΎΠ΄ΡΠ΅Π΄Π΅Π½ΠΈ ΠΊΠ°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ, ΠΊΠΎΠΈ ΡΠ΅ Π³ΠΈ Π΄ΠΎΠΏΡΠ΅ΠΌΠ΅ ΠΏΠΎΠ΄ΠΎΠ»Ρ. ΠΠ²Π΅ ΡΠΏΠΈΡΠΎΠΊ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΈ.
str1 = str2
ΠΠΈ ΡΠ΅ΡΡΠΈΡΠ° Π½ΠΈΠ·ΠΈΡΠ΅ Π·Π° Π΅Π΄Π½Π°ΠΊΠ²ΠΎΡΡ, Π²ΡΠ°ΡΠ°ΡΡΠΈ Π³ΠΎ true Π°ΠΊΠΎ Π½ΠΈΠ·ΠΈΡΠ΅ ΡΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΠΈ.
str1 != str2
Π‘Π΅ Π²ΡΠ°ΡΠ° ΡΠΎΡΠ½ΠΎ Π°ΠΊΠΎ Π½ΠΈΠ·ΠΈΡΠ΅ Π½Π΅ ΡΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΠΈ.
str1 < str2
Π‘Π΅ Π²ΡΠ°ΡΠ° ΡΠΎΡΠ½ΠΎ Π°ΠΊΠΎstr1
ΠΏΠΎΠΌΠ°Π»ΠΊΡ ΠΎΠ΄str2
.
str1 > str2
Π‘Π΅ Π²ΡΠ°ΡΠ° ΡΠΎΡΠ½ΠΎ Π°ΠΊΠΎstr1
ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΠ΄str2
.
-n str1
Π‘Π΅ Π²ΡΠ°ΡΠ° ΡΠΎΡΠ½ΠΎ Π°ΠΊΠΎ Π΄ΠΎΠ»ΠΆΠΈΠ½Π°ΡΠ°str1
ΠΠ°Π΄ Π½ΡΠ»Π°.
-z str1
Π‘Π΅ Π²ΡΠ°ΡΠ° ΡΠΎΡΠ½ΠΎ Π°ΠΊΠΎ Π΄ΠΎΠ»ΠΆΠΈΠ½Π°ΡΠ°str1
Π΅Π΄Π½Π°ΠΊΠ²Π° Π½Π° Π½ΡΠ»Π°.
ΠΠ²Π΅ ΠΏΡΠΈΠΌΠ΅Ρ Π·Π° ΡΠΏΠΎΡΠ΅Π΄ΡΠ²Π°ΡΠ΅ Π½ΠΈΠ·ΠΈ Π²ΠΎ ΡΠΊΡΠΈΠΏΡΠ°:
#!/bin/bash
user ="likegeeks"
if [$user = $USER]
then
echo "The user $user is the current logged in user"
fi
ΠΠ°ΠΊΠΎ ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΡΡΠ΅Π½Π°ΡΠΈΠΎΡΠΎ, Π³ΠΎ Π΄ΠΎΠ±ΠΈΠ²Π°ΠΌΠ΅ ΡΠ»Π΅Π΄Π½ΠΎΠ²ΠΎ.
Π‘ΠΏΠΎΡΠ΅Π΄ΡΠ²Π°ΡΠ΅ Π½ΠΈΠ·ΠΈ Π²ΠΎ ΡΠΊΡΠΈΠΏΡΠΈ
ΠΠ²Π΅ Π΅Π΄Π½Π° ΠΊΠ°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ° Π½Π° ΡΠΏΠΎΡΠ΅Π΄Π±Π° Π½Π° ΠΆΠΈΡΠΈ ΡΡΠΎ Π²ΡΠ΅Π΄ΠΈ Π΄Π° ΡΠ΅ ΡΠΏΠΎΠΌΠ΅Π½Π΅. ΠΠΌΠ΅Π½ΠΎ, ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΈΡΠ΅ β>β ΠΈ β<β ΠΌΠΎΡΠ° Π΄Π° ΡΠ΅ ΠΈΠ·Π±Π΅Π³Π½Π°Ρ ΡΠΎ ΠΎΠ±ΡΠ°ΡΠ½Π° ΠΊΠΎΡΠ° ΡΡΡΠ°, ΠΈΠ½Π°ΠΊΡ ΡΠΊΡΠΈΠΏΡΠ°ΡΠ° Π½Π΅ΠΌΠ° Π΄Π° ΡΠ°Π±ΠΎΡΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ, ΠΈΠ°ΠΊΠΎ Π½Π΅ΠΌΠ° Π΄Π° ΡΠ΅ ΠΏΠΎΡΠ°Π²Π°Ρ ΠΏΠΎΡΠ°ΠΊΠΈ Π·Π° Π³ΡΠ΅ΡΠΊΠ°. Π‘ΠΊΡΠΈΠΏΡΠ°ΡΠ° Π³ΠΎ ΡΠΎΠ»ΠΊΡΠ²Π° Π·Π½Π°ΠΊΠΎΡ β>β ΠΊΠ°ΠΊΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π·Π° ΠΏΡΠ΅Π½Π°ΡΠΎΡΡΠ²Π°ΡΠ΅ Π½Π° ΠΈΠ·Π»Π΅Π·ΠΎΡ.
ΠΠ²Π΅ ΠΊΠ°ΠΊΠΎ ΠΈΠ·Π³Π»Π΅Π΄Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° ΡΠΎ ΠΎΠ²ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΈ Π²ΠΎ ΠΊΠΎΠ΄:
#!/bin/bash
val1=text
val2="another text"
if [ $val1 > $val2 ]
then
echo "$val1 is greater than $val2"
else
echo "$val1 is less than $val2"
fi
ΠΠ²Π΅ Π³ΠΈ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈΡΠ΅ ΠΎΠ΄ ΡΡΠ΅Π½Π°ΡΠΈΠΎΡΠΎ.
Π‘ΠΏΠΎΡΠ΅Π΄Π±Π° Π½Π° Π½ΠΈΠ·ΠΈ, Π΄Π°Π΄Π΅Π½ΠΎ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅Π΄ΡΠ²Π°ΡΠ΅
ΠΠ΅ ΠΌΠΎΠ»ΠΈΠΌΠ΅ ΠΈΠΌΠ°ΡΡΠ΅ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ Π΄Π΅ΠΊΠ° ΡΠΊΡΠΈΠΏΡΠ°ΡΠ°, ΠΈΠ°ΠΊΠΎ Π΅ ΠΈΠ·Π²ΡΡΠ΅Π½Π°, ΠΈΠ·Π΄Π°Π²Π° ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅Π΄ΡΠ²Π°ΡΠ΅:
./myscript: line 5: [: too many arguments
ΠΠ° Π΄Π° ΡΠ΅ ΠΎΡΠ»ΠΎΠ±ΠΎΠ΄ΠΈΠΌΠ΅ ΠΎΠ΄ ΠΎΠ²Π° ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅Π΄ΡΠ²Π°ΡΠ΅, Π·Π°ΠΊΠ»ΡΡΡΠ²Π°ΠΌΠ΅ $val2
Π²ΠΎ Π΄Π²ΠΎΡΠ½ΠΈ Π½Π°Π²ΠΎΠ΄Π½ΠΈΡΠΈ:
#!/bin/bash
val1=text
val2="another text"
if [ $val1 > "$val2" ]
then
echo "$val1 is greater than $val2"
else
echo "$val1 is less than $val2"
fi
Π‘Π΅Π³Π° ΡΓ¨ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ° ΠΊΠ°ΠΊΠΎ ΡΡΠΎ ΡΡΠ΅Π±Π°.
Π‘ΠΏΠΎΡΠ΅Π΄Π±Π° Π½Π° ΠΆΠΈΡΠΈ
ΠΡΡΠ³Π° ΠΊΠ°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ° Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΈΡΠ΅ β>β ΠΈ β<β Π΅ ΠΊΠ°ΠΊΠΎ ΡΠΈΠ΅ ΡΠ°Π±ΠΎΡΠ°Ρ ΡΠΎ Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΈ ΠΌΠ°Π»ΠΈ Π·Π½Π°ΡΠΈ. ΠΠ° Π΄Π° ΡΠ° ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌΠ΅ ΠΎΠ²Π°Π° ΡΡΠ½ΠΊΡΠΈΡΠ°, Π΄Π° ΠΏΠΎΠ΄Π³ΠΎΡΠ²ΠΈΠΌΠ΅ ΡΠ΅ΠΊΡΡΡΠ°Π»Π½Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° ΡΠΎ ΡΠ»Π΅Π΄Π½Π°Π²Π° ΡΠΎΠ΄ΡΠΆΠΈΠ½Π°:
Likegeeks
likegeeks
ΠΠ° Π³ΠΎ ΡΠΏΠ°ΡΠΈΠΌΠ΅ ΡΠΎ ΡΠΎΠ° ΡΡΠΎ ΡΠ΅ ΠΌΡ Π΄Π°Π΄Π΅ΠΌΠ΅ ΠΈΠΌΠ΅ myfile
, ΠΏΠΎΡΠΎΠ° ΠΈΠ·Π²ΡΡΠ΅ΡΠ΅ ΡΠ° ΡΠ»Π΅Π΄Π½Π°Π²Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΠΎ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»ΠΎΡ:
sort myfile
ΠΠ΅ Π³ΠΈ ΠΏΠΎΠ΄ΡΠ΅Π΄ΠΈ Π»ΠΈΠ½ΠΈΠΈΡΠ΅ ΠΎΠ΄ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°ΡΠ° Π²Π°ΠΊΠ°:
likegeeks
Likegeeks
Π’ΠΈΠΌ sort
, ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½ΠΎ, Π³ΠΈ ΠΏΠΎΠ΄ΡΠ΅Π΄ΡΠ²Π° Π½ΠΈΠ·ΠΈΡΠ΅ Π²ΠΎ ΡΠ°ΡΡΠ΅ΡΠΊΠΈ ΡΠ΅Π΄ΠΎΡΠ»Π΅Π΄, ΠΎΠ΄Π½ΠΎΡΠ½ΠΎ ΠΌΠ°Π»Π°ΡΠ° Π±ΡΠΊΠ²Π° Π²ΠΎ Π½Π°ΡΠΈΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ Π΅ ΠΏΠΎΠΌΠ°Π»Π° ΠΎΠ΄ Π³ΠΎΠ»Π΅ΠΌΠ°ΡΠ°. Π‘Π΅Π³Π° Π΄Π° ΠΏΠΎΠ΄Π³ΠΎΡΠ²ΠΈΠΌΠ΅ ΡΠΊΡΠΈΠΏΡΠ° ΡΡΠΎ ΡΠ΅ Π³ΠΈ ΡΠΏΠΎΡΠ΅Π΄ΡΠ²Π° ΠΈΡΡΠΈΡΠ΅ ΠΆΠΈΡΠΈ:
#!/bin/bash
val1=Likegeeks
val2=likegeeks
if [ $val1 > $val2 ]
then
echo "$val1 is greater than $val2"
else
echo "$val1 is less than $val2"
fi
ΠΠΊΠΎ Π³ΠΎ ΠΈΠ·Π²ΡΡΠΈΡΠ΅, ΠΈΠ·Π»Π΅Π³ΡΠ²Π° Π΄Π΅ΠΊΠ° ΡΓ¨ Π΅ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ - ΠΌΠ°Π»Π°ΡΠ° Π±ΡΠΊΠ²Π° ΡΠ΅Π³Π° Π΅ ΠΏΠΎΠ³ΠΎΠ»Π΅ΠΌΠ° ΠΎΠ΄ Π³ΠΎΠ»Π΅ΠΌΠ°ΡΠ°.
ΠΠΎΠΌΠ°Π½Π΄Π°ΡΠ° Π·Π° ΡΠΎΡΡΠΈΡΠ°ΡΠ΅ ΠΈ ΡΠΏΠΎΡΠ΅Π΄ΡΠ²Π°ΡΠ΅ Π½ΠΈΠ·ΠΈ Π²ΠΎ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° ΡΠΎ ΡΠΊΡΠΈΠΏΡΠ°
ΠΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡΠ΅ Π·Π° ΡΠΏΠΎΡΠ΅Π΄Π±Π°, Π³ΠΎΠ»Π΅ΠΌΠΈΡΠ΅ Π±ΡΠΊΠ²ΠΈ ΡΠ΅ ΠΏΠΎΠΌΠ°Π»ΠΈ ΠΎΠ΄ ΠΌΠ°Π»ΠΈΡΠ΅ Π±ΡΠΊΠ²ΠΈ. Π‘ΠΏΠΎΡΠ΅Π΄Π±Π°ΡΠ° Π½Π° Π½ΠΈΠ·ΠΈ ΠΎΠ²Π΄Π΅ ΡΠ΅ ΠΏΡΠ°Π²ΠΈ ΡΠΎ ΡΠΏΠΎΡΠ΅Π΄ΡΠ²Π°ΡΠ΅ Π½Π° ASCII ΠΊΠΎΠ΄ΠΎΠ²ΠΈΡΠ΅ Π½Π° Π·Π½Π°ΡΠΈΡΠ΅, ΡΠ°ΠΊΠ° ΡΡΠΎ ΡΠ΅Π΄ΠΎΡΠ»Π΅Π΄ΠΎΡ Π½Π° ΡΠΎΡΡΠΈΡΠ°ΡΠ΅ Π·Π°Π²ΠΈΡΠΈ ΠΎΠ΄ ΡΠΈΡΡΠΈΡΠ΅ Π½Π° Π·Π½Π°ΡΠΈΡΠ΅.
Π’ΠΈΠΌ sort
, ΠΏΠ°ΠΊ, Π³ΠΎ ΠΊΠΎΡΠΈΡΡΠΈ ΡΠ΅Π΄ΠΎΡΠ»Π΅Π΄ΠΎΡ Π½Π° ΡΠΎΡΡΠΈΡΠ°ΡΠ΅ Π½Π°Π²Π΅Π΄Π΅Π½ Π²ΠΎ ΠΏΠΎΡΡΠ°Π²ΠΊΠΈΡΠ΅ Π·Π° ΡΠ°Π·ΠΈΠΊΠΎΡ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΎΡ.
ΠΡΠΎΠ²Π΅ΡΠΊΠΈ Π½Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ
ΠΠΎΠΆΠ΅Π±ΠΈ ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ°Ρ Π½Π°ΡΡΠ΅ΡΡΠΎ Π²ΠΎ Π±Π°Ρ ΡΠΊΡΠΈΠΏΡΠΈΡΠ΅. Π’ΠΈΠ΅ Π²ΠΈ Π΄ΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Π°Ρ Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΠΈΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΡΠ»ΠΎΠ²ΠΈ Π²ΠΎ Π²ΡΡΠΊΠ° ΡΠΎ Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈΡΠ΅. ΠΠ²Π΅ ΡΠΏΠΈΡΠΎΠΊ Π½Π° ΠΎΠ²ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ.
-d file
ΠΡΠΎΠ²Π΅ΡΡΠ²Π° Π΄Π°Π»ΠΈ ΠΏΠΎΡΡΠΎΠΈ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° ΠΈ Π΄Π°Π»ΠΈ Π΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΠΌ.
-e file
ΠΡΠΎΠ²Π΅ΡΡΠ²Π° Π΄Π°Π»ΠΈ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°ΡΠ° ΠΏΠΎΡΡΠΎΠΈ.
-f file
ΠΡΠΎΠ²Π΅ΡΡΠ²Π° Π΄Π°Π»ΠΈ ΠΏΠΎΡΡΠΎΠΈ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° ΠΈ Π΄Π°Π»ΠΈ Π΅ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°.
-r file
ΠΡΠΎΠ²Π΅ΡΡΠ²Π° Π΄Π°Π»ΠΈ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°ΡΠ° ΠΏΠΎΡΡΠΎΠΈ ΠΈ Π΄Π°Π»ΠΈ Π΅ ΡΠΈΡΠ»ΠΈΠ²Π°.
-s file Π
ΠΡΠΎΠ²Π΅ΡΡΠ²Π° Π΄Π°Π»ΠΈ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°ΡΠ° ΠΏΠΎΡΡΠΎΠΈ ΠΈ Π½Π΅ Π΅ ΠΏΡΠ°Π·Π½Π°.
-w file
ΠΡΠΎΠ²Π΅ΡΡΠ²Π° Π΄Π°Π»ΠΈ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°ΡΠ° ΠΏΠΎΡΡΠΎΠΈ ΠΈ Π΄Π°Π»ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π·Π°ΠΏΠΈΡΠ΅.
-x file
ΠΡΠΎΠ²Π΅ΡΡΠ²Π° Π΄Π°Π»ΠΈ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°ΡΠ° ΠΏΠΎΡΡΠΎΠΈ ΠΈ Π΄Π°Π»ΠΈ Π΅ ΠΈΠ·Π²ΡΡΠ½Π°.
file1 -nt file2
ΠΡΠΎΠ²Π΅ΡΡΠ²Π° Π΄Π°Π»ΠΈ Π΅ ΠΏΠΎΠ½ΠΎΠ²file1
ΠΎΠ΄file2
.
file1 -ot file2
ΠΡΠΎΠ²Π΅ΡΡΠ²Π° Π΄Π°Π»ΠΈ Π΅ ΠΏΠΎΡΡΠ°ΡΠΎfile1
ΠΎΠ΄file2
.
-O file
ΠΡΠΎΠ²Π΅ΡΡΠ²Π° Π΄Π°Π»ΠΈ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°ΡΠ° ΠΏΠΎΡΡΠΎΠΈ ΠΈ Π΅ Π²ΠΎ ΡΠΎΠΏΡΡΠ²Π΅Π½ΠΎΡΡ Π½Π° ΡΠ΅ΠΊΠΎΠ²Π½ΠΈΠΎΡ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊ.
-G file
ΠΡΠΎΠ²Π΅ΡΡΠ²Π° Π΄Π°Π»ΠΈ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°ΡΠ° ΠΏΠΎΡΡΠΎΠΈ ΠΈ Π΄Π°Π»ΠΈ Π½Π΅ΡΠ·ΠΈΠ½ΠΈΠΎΡ ID Π½Π° Π³ΡΡΠΏΠ°ΡΠ° ΡΠ΅ ΡΠΎΠ²ΠΏΠ°ΡΠ° ΡΠΎ ID Π½Π° Π³ΡΡΠΏΠ°ΡΠ° Π½Π° ΡΠ΅ΠΊΠΎΠ²Π½ΠΈΠΎΡ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊ.
ΠΠ²ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ, ΠΊΠ°ΠΊΠΎ ΠΈ ΠΌΠ½ΠΎΠ³Ρ Π΄ΡΡΠ³ΠΈ Π·Π° ΠΊΠΎΠΈ ΡΠ΅ Π΄ΠΈΡΠΊΡΡΠΈΡΠ° Π΄Π΅Π½Π΅Ρ, Π»Π΅ΡΠ½ΠΎ ΡΠ΅ ΠΏΠ°ΠΌΠ΅ΡΠ°Ρ. ΠΠΈΠ²Π½ΠΈΡΠ΅ ΠΈΠΌΠΈΡΠ°, Π±ΠΈΠ΄Π΅ΡΡΠΈ ΡΠ΅ ΠΊΡΠ°ΡΠ΅Π½ΠΊΠΈ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π·Π±ΠΎΡΠΎΠ²ΠΈ, Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΡΠΊΠ°ΠΆΡΠ²Π°Π°Ρ Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈΡΠ΅ ΡΡΠΎ Π³ΠΈ Π²ΡΡΠ°Ρ.
ΠΡΠ΄Π΅ Π΄Π° ΠΏΡΠΎΠ±Π°ΠΌΠ΅ Π΅Π΄Π½Π° ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡΠ΅ Π²ΠΎ ΠΏΡΠ°ΠΊΡΠ°:
#!/bin/bash
mydir=/home/likegeeks
if [ -d $mydir ]
then
echo "The $mydir directory exists"
cd $ mydir
ls
else
echo "The $mydir directory does not exist"
fi
ΠΠ²Π°Π° ΡΠΊΡΠΈΠΏΡΠ°, Π·Π° ΠΏΠΎΡΡΠΎΠ΅ΡΠΊΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΠΌ, ΡΠ΅ ΡΠ° ΠΏΡΠΈΠΊΠ°ΠΆΠ΅ Π½Π΅Π³ΠΎΠ²Π°ΡΠ° ΡΠΎΠ΄ΡΠΆΠΈΠ½Π°.
ΠΠ°Π²Π΅Π΄ΡΠ²Π°ΡΠ΅ Π½Π° ΡΠΎΠ΄ΡΠΆΠΈΠ½Π°ΡΠ° Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΠΌΠΎΡ
ΠΠΈΠ΅ Π²Π΅ΡΡΠ²Π°ΠΌΠ΅ Π΄Π΅ΠΊΠ° ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ°ΠΌΠΈ Π΄Π° Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΠ°ΡΠ΅ ΡΠΎ ΠΏΡΠ΅ΠΎΡΡΠ°Π½Π°ΡΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ; ΡΠΈΡΠ΅ ΡΠΈΠ΅ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ°Ρ ΡΠΏΠΎΡΠ΅Π΄ ΠΈΡΡΠΈΠΎΡ ΠΏΡΠΈΠ½ΡΠΈΠΏ.
Π Π΅Π·ΡΠ»ΡΠ°ΡΠΈΡΠ΅ ΠΎΠ΄
ΠΠ΅Π½Π΅Ρ ΡΠ°Π·Π³ΠΎΠ²Π°ΡΠ°Π²ΠΌΠ΅ Π·Π° ΡΠΎΠ° ΠΊΠ°ΠΊΠΎ Π΄Π° Π·Π°ΠΏΠΎΡΠ½Π΅ΡΠ΅ Π΄Π° ΠΏΠΈΡΡΠ²Π°ΡΠ΅ Π±Π°Ρ ΡΠΊΡΠΈΠΏΡΠΈ ΠΈ ΠΎΠΏΡΠ°ΡΠΈΠ²ΠΌΠ΅ Π½Π΅ΠΊΠΎΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΈ ΡΠ°Π±ΠΎΡΠΈ. ΠΡΡΡΠ½ΠΎΡΡ, ΡΠ΅ΠΌΠ°ΡΠ° Π·Π° Π±Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°ΡΠ΅ Π΅ ΠΎΠ³ΡΠΎΠΌΠ½Π°. ΠΠ²Π°Π° ΡΡΠ°ΡΠΈΡΠ° Π΅ ΠΏΡΠ΅Π²ΠΎΠ΄ Π½Π° ΠΏΡΠ²ΠΈΠΎΡ Π΄Π΅Π» ΠΎΠ΄ Π³ΠΎΠ»Π΅ΠΌΠ°ΡΠ° ΡΠ΅ΡΠΈΡΠ° ΠΎΠ΄ 11 ΠΌΠ°ΡΠ΅ΡΠΈΡΠ°Π»ΠΈ. ΠΠΊΠΎ ΡΠ°ΠΊΠ°ΡΠ΅ Π΄Π° ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅ ΡΠΎΠΊΠΌΡ ΡΠ΅Π³Π°, Π΅Π²Π΅ Π»ΠΈΡΡΠ° Π½Π° ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΠΈΡΠ΅ Π½Π° ΠΎΠ²ΠΈΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΡΠ°Π»ΠΈ. ΠΠ° ΠΏΠΎΠ³ΠΎΠ΄Π½ΠΎΡΡ, ΡΠΈΡ ΠΏΡΠ΅Π²ΠΎΠ΄ ΡΡΠΎΡΡΠΊΡ Π³ΠΎ ΠΏΡΠΎΡΠΈΡΠ°Π²ΡΠ΅ Π΅ Π²ΠΊΠ»ΡΡΠ΅Π½ ΠΎΠ²Π΄Π΅.
ΠΠ°Ρ ΡΠΊΡΠΈΠΏΡΠ° ΡΠ΅ΠΊΠΎΡ ΠΏΠΎ ΡΠ΅ΠΊΠΎΡ β ΠΎΠ²Π΄Π΅ Π·Π±ΠΎΡΡΠ²Π°ΠΌΠ΅ Π·Π° ΡΠΎΠ° ΠΊΠ°ΠΊΠΎ Π΄Π° Π·Π°ΠΏΠΎΡΠ½Π΅ΡΠ΅ Π΄Π° ΡΠΎΠ·Π΄Π°Π²Π°ΡΠ΅ Π±Π°Ρ ΡΠΊΡΠΈΠΏΡΠΈ, ΡΠ΅ ΡΠ°Π·Π³Π»Π΅Π΄ΡΠ²Π° ΡΠΏΠΎΡΡΠ΅Π±Π°ΡΠ° Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ, ΠΎΠΏΠΈΡΠ°Π½ΠΈ ΡΠ΅ ΡΡΠ»ΠΎΠ²Π½ΠΈ ΡΡΡΡΠΊΡΡΡΠΈ, ΠΏΡΠ΅ΡΠΌΠ΅ΡΠΊΠΈ, ΡΠΏΠΎΡΠ΅Π΄Π±ΠΈ Π½Π° Π±ΡΠΎΠ΅Π²ΠΈ, Π½ΠΈΠ·ΠΈ ΠΈ Π΄ΠΎΠ·Π½Π°Π²Π°ΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π·Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈΡΠ΅.Bash ΡΠΊΡΠΈΠΏΡΠΈΡΠ°ΡΠ΅ ΠΠ΅Π» 2, Bash the awesome β ΠΎΠ²Π΄Π΅ ΡΠ΅ ΠΎΡΠΊΡΠΈΠ²Π°Π°Ρ ΠΊΠ°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈΡΠ΅ Π½Π° ΡΠ°Π±ΠΎΡΠ° ΡΠΎ Π·Π° ΠΈ Π΄ΠΎΠ΄Π΅ΠΊΠ° ΡΠ°ΠΌΠΊΠΈΡΠ΅.ΠΠ°Ρ ΡΠΊΡΠΈΠΏΡΠΈΡΠ°ΡΠ΅ ΠΠ΅Π» 3, ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ ΠΈ ΠΎΠΏΡΠΈΠΈ β ΠΎΠ²ΠΎΡ ΠΌΠ°ΡΠ΅ΡΠΈΡΠ°Π» Π΅ ΠΏΠΎΡΠ²Π΅ΡΠ΅Π½ Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ ΠΈ ΠΊΠΎΠΏΡΠΈΡΠ°ΡΠ° Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½Π°ΡΠ° Π»ΠΈΠ½ΠΈΡΠ° ΡΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΡΠ΅Π½Π΅ΡΠ°Ρ Π½Π° ΡΠΊΡΠΈΠΏΡΠΈ, ΡΠ°Π±ΠΎΡΠ΅ΡΡΠΈ ΡΠΎ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΡΡΠΎ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠΎΡ Π³ΠΈ Π²Π½Π΅ΡΡΠ²Π° ΠΈ ΠΊΠΎΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΠΈΡΠ°Π°Ρ ΠΎΠ΄ Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈΡΠ΅.Bash ΡΠΊΡΠΈΠΏΡΠΈΡΠ°ΡΠ΅ ΠΠ΅Π» 4, Π²Π»Π΅Π· ΠΈ ΠΈΠ·Π»Π΅Π· - ΠΎΠ²Π΄Π΅ Π·Π±ΠΎΡΡΠ²Π°ΠΌΠ΅ Π·Π° Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΈ Π½Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ ΠΈ ΡΠ°Π±ΠΎΡΠ° ΡΠΎ Π½ΠΈΠ², Π·Π° Π²Π»Π΅Π·, ΠΈΠ·Π»Π΅Π·, ΡΠ΅ΠΊΠΎΠ²ΠΈ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ ΠΈ Π·Π° ΠΏΡΠ΅Π½Π°ΡΠΎΡΡΠ²Π°ΡΠ΅ Π½Π° ΠΈΠ·Π»Π΅Π·ΠΎΡ.Bash ΡΠΊΡΠΈΠΏΡΠΈΡΠ°ΡΠ΅ ΠΠ΅Π» 5, Sighals & Jobs β ΠΎΠ²ΠΎΡ ΠΌΠ°ΡΠ΅ΡΠΈΡΠ°Π» Π΅ ΠΏΠΎΡΠ²Π΅ΡΠ΅Π½ Π½Π° ΡΠΈΠ³Π½Π°Π»ΠΈΡΠ΅ Π½Π° ΠΠΈΠ½ΡΠΊΡ, Π½ΠΈΠ²Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π²ΠΎ ΡΠΊΡΠΈΠΏΡΠΈ ΠΈ Π»Π°Π½ΡΠΈΡΠ°ΡΠ΅ ΡΠΊΡΠΈΠΏΡΠΈ ΠΏΠΎ ΡΠ°ΡΠΏΠΎΡΠ΅Π΄.ΠΠ°Ρ ΡΠΊΡΠΈΠΏΡΠΈΡΠ°ΡΠ΅ ΠΠ΅Π» 6, Π€ΡΠ½ΠΊΡΠΈΠΈ β ΠΎΠ²Π΄Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π½Π°ΡΡΠΈΡΠ΅ Π·Π° ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ ΠΈ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΠΎ ΡΠΊΡΠΈΠΏΡΠΈ ΠΈ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ.ΠΠ°Ρ ΡΠΊΡΠΈΠΏΡΠΈΡΠ°ΡΠ΅ ΠΠ΅Π» 7, ΠΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° ΡΠ΅Π΄ β ΠΎΠ²Π°Π° ΡΡΠ°ΡΠΈΡΠ° Π΅ ΠΏΠΎΡΠ²Π΅ΡΠ΅Π½Π° Π½Π° ΡΠ°Π±ΠΎΡΠ° ΡΠΎ ΡΡΠ΅Π΄ΡΠ²Π°ΡΠΎΡ Π½Π° ΡΠ΅ΠΊΡΡ sed ΡΡΡΠΈΠΌΠΈΠ½Π³.ΠΠ°Ρ ΡΠΊΡΠΈΠΏΡΠΈΡΠ°ΡΠ΅ ΠΠ΅Π» 8, ΠΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° awk β ΠΎΠ²ΠΎΡ ΠΌΠ°ΡΠ΅ΡΠΈΡΠ°Π» Π΅ ΠΏΠΎΡΠ²Π΅ΡΠ΅Π½ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°ΡΠ΅ Π²ΠΎ ΡΠ°Π·ΠΈΠΊΠΎΡ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ awk.ΠΠ°Ρ ΡΠΊΡΠΈΠΏΡΠΈΡΠ°ΡΠ΅ ΠΠ΅Π» 9, Π Π΅Π΄ΠΎΠ²Π½ΠΈ ΠΈΠ·ΡΠ°Π·ΠΈ β ΠΎΠ²Π΄Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΡΠΎΡΠΈΡΠ°ΡΠ΅ Π·Π° ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° ΡΠ΅Π³ΡΠ»Π°ΡΠ½ΠΈ ΠΈΠ·ΡΠ°Π·ΠΈ Π²ΠΎ Π±Π°Ρ ΡΠΊΡΠΈΠΏΡΠΈ.ΠΠ°Ρ ΡΠΊΡΠΈΠΏΡΠΈΡΠ°ΡΠ΅ ΠΠ΅Π» 10, ΠΡΠ°ΠΊΡΠΈΡΠ½ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠΈ β Π΅Π²Π΅ ΡΠ΅Ρ Π½ΠΈΠΊΠΈ Π·Π° ΡΠ°Π±ΠΎΡΠ° ΡΠΎ ΠΏΠΎΡΠ°ΠΊΠΈ ΠΊΠΎΠΈ ΠΌΠΎΠΆΠ°Ρ Π΄Π° ΡΠ΅ ΠΈΡΠΏΡΠ°ΡΠ°Ρ Π΄ΠΎ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈΡΠ΅, ΠΊΠ°ΠΊΠΎ ΠΈ ΠΌΠ΅ΡΠΎΠ΄ Π·Π° ΡΠ»Π΅Π΄Π΅ΡΠ΅ Π½Π° Π΄ΠΈΡΠΊΠΎΡ.Bash ΡΠΊΡΠΈΠΏΡΠΈΡΠ°ΡΠ΅ ΠΠ΅Π» 11, ΠΡΠ΅ΠΊΡΠ²Π°ΡΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π° β ΠΎΠ²ΠΎΡ ΠΌΠ°ΡΠ΅ΡΠΈΡΠ°Π» Π΅ ΠΏΠΎΡΠ²Π΅ΡΠ΅Π½ Π½Π° Π°Π»Π°ΡΠΊΠ°ΡΠ° Expect, ΡΠΎ ΠΊΠΎΡΠ° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠ°ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΡΠ°ΡΠ° ΡΠΎ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΈ ΠΊΠΎΠΌΡΠ½Π°Π»Π½ΠΈ ΡΡΠ»ΡΠ³ΠΈ. ΠΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎ, Π·Π±ΠΎΡΡΠ²Π°ΠΌΠ΅ Π·Π° ΠΎΡΠ΅ΠΊΡΠ²Π°Π½ΠΈ ΡΠΊΡΠΈΠΏΡΠΈ ΠΈ Π½ΠΈΠ²Π½Π°ΡΠ° ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΡΠ° ΡΠΎ Π±Π°Ρ ΡΠΊΡΠΈΠΏΡΠΈ ΠΈ Π΄ΡΡΠ³ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ.
Π‘ΠΌΠ΅ΡΠ°ΠΌΠ΅ Π΄Π΅ΠΊΠ° Π΅Π΄Π½Π° ΠΎΠ΄ Π²ΡΠ΅Π΄Π½ΠΈΡΠ΅ ΠΊΠ°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π½Π° ΠΎΠ²Π°Π° ΡΠ΅ΡΠΈΡΠ° Π½Π°ΠΏΠΈΡΠΈ Π΅ ΡΠΎΠ° ΡΡΠΎ, ΠΏΠΎΡΠ½ΡΠ²Π°ΡΡΠΈ ΠΎΠ΄ Π½Π°ΡΠ΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΈΡΠ΅, ΠΏΠΎΠ³ΠΎΠ΄Π½ΠΈ Π·Π° ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈ ΠΎΠ΄ ΠΊΠΎΠ΅ Π±ΠΈΠ»ΠΎ Π½ΠΈΠ²ΠΎ, ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½ΠΎ Π²ΠΎΠ΄ΠΈ Π΄ΠΎ Π΄ΠΎΡΡΠ° ΡΠ΅ΡΠΈΠΎΠ·Π½ΠΈ ΡΠ΅ΠΌΠΈ, Π΄Π°Π²Π°ΡΡΠΈ ΠΈΠΌ ΡΠ°Π½ΡΠ° Π½Π° ΡΠΈΡΠ΅ Π΄Π° Π½Π°ΠΏΡΠ΅Π΄ΡΠ²Π°Π°Ρ Π²ΠΎ ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ΡΠΎ ΡΠΊΡΠΈΠΏΡΠΈ Π·Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½Π°ΡΠ° Π»ΠΈΠ½ΠΈΡΠ° Π½Π° Linux .
ΠΠΎΡΠΈΡΡΠ²Π°Π½ΠΈ ΡΠΈΡΠ°ΡΠ΅Π»ΠΈ! ΠΠΈ Π·Π°ΠΌΠΎΠ»ΡΠ²Π°ΠΌΠ΅ Π±Π°Ρ-ΠΏΡΠΎΠ³ΡΠ°ΠΌΡΠΊΠΈΡΠ΅ Π³ΡΡΡΠ° Π΄Π° Π·Π±ΠΎΡΡΠ²Π°Π°Ρ Π·Π° ΡΠΎΠ° ΠΊΠ°ΠΊΠΎ Π³ΠΈ Π΄ΠΎΡΡΠΈΠ³Π½Π°Π»Π΅ Π²ΠΈΡΠΎΡΠΈΠ½ΠΈΡΠ΅ Π½Π° ΡΠ²ΠΎΠ΅ΡΠΎ ΠΌΠ°ΡΡΡΠΎΡΡΡΠ²ΠΎ, Π΄Π° Π³ΠΈ ΡΠΏΠΎΠ΄Π΅Π»Π°Ρ ΡΠ²ΠΎΠΈΡΠ΅ ΡΠ°ΡΠ½ΠΈ ΠΈ ΡΠΎ Π½Π΅ΡΡΠΏΠ΅Π½ΠΈΠ΅ ΠΎΡΠ΅ΠΊΡΠ²Π°ΠΌΠ΅ Π΄Π° Π΄ΠΎΠ±ΠΈΠ΅ΠΌΠ΅ Π²ΠΏΠ΅ΡΠ°ΡΠΎΡΠΈ ΠΎΠ΄ ΠΎΠ½ΠΈΠ΅ ΠΊΠΎΠΈ ΡΡΠΎΡΡΠΊΡ Π³ΠΎ Π½Π°ΠΏΠΈΡΠ°Π»Π΅ ΡΠ²ΠΎΠ΅ΡΠΎ ΠΏΡΠ²ΠΎ ΡΡΠ΅Π½Π°ΡΠΈΠΎ.
Π‘Π°ΠΌΠΎ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ°Π½ΠΈ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈ ΠΌΠΎΠΆΠ°Ρ Π΄Π° ΡΡΠ΅ΡΡΠ²ΡΠ²Π°Π°Ρ Π²ΠΎ Π°Π½ΠΊΠ΅ΡΠ°ΡΠ°.
ΠΠ°Π»ΠΈ ΡΡΠ΅Π±Π° Π΄Π° Π³ΠΎ ΠΏΡΠ΅Π²Π΅Π΄Π°ΠΌ ΠΎΡΡΠ°ΡΠΎΠΊΠΎΡ ΠΎΠ΄ ΡΠ΅ΡΠΈΡΠ°ΡΠ° ΡΡΠ°ΡΠΈΠΈ?
-
ΠΠ°!
-
ΠΠ΅ΠΌΠ° ΠΏΠΎΡΡΠ΅Π±Π°
ΠΠ»Π°ΡΠ°Π° 1030 ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈ. 106 ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈ Π±Π΅Π° Π²ΠΎΠ·Π΄ΡΠΆΠ°Π½ΠΈ.
ΠΠ·Π²ΠΎΡ: www.habr.com