ΠΠ½Π΅Ρ ΡΠ΅ Π³ΠΎΠ²ΠΎΡΠΈΠΌ Π·Π° bash ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅. Π’ΠΎΠ²Π° Π΅ , Π½Π°ΠΏΠΈΡΠ°Π½ΠΈ Π·Π° ΠΎΠ±Π²ΠΈΠ²ΠΊΠ°ΡΠ° bash. ΠΠΌΠ° ΠΈ Π΄ΡΡΠ³ΠΈ ΠΎΠ±Π²ΠΈΠ²ΠΊΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ β zsh, tcsh, ksh, Π½ΠΎ Π½ΠΈΠ΅ ΡΠ΅ ΡΠ΅ ΡΠΎΠΊΡΡΠΈΡΠ°ΠΌΠ΅ Π²ΡΡΡ Ρ bash. Π’ΠΎΠ·ΠΈ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π» Π΅ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π·Π° Π²ΡΠΈΡΠΊΠΈ ΠΆΠ΅Π»Π°Π΅ΡΠΈ, Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½ΠΎΡΠΎ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π΅ Π΄Π° Π·Π½Π°Π΅ΡΠ΅ ΠΊΠ°ΠΊ Π΄Π° ΡΠ°Π±ΠΎΡΠΈΡΠ΅ Ρ Π² Linux.
Π‘ΠΊΡΠΈΠΏΡΠΎΠ²Π΅ΡΠ΅ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΈΡ ΡΠ΅Π΄ ΡΠ° Π½Π°Π±ΠΎΡΠΈ ΠΎΡ ΡΡΡΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π²ΡΠ²Π΅ΠΆΠ΄Π°ΡΠ΅ ΠΎΡ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ°ΡΠ°, ΡΡΠ±ΡΠ°Π½ΠΈ Π² ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΈ ΠΎΠ±Π΅Π΄ΠΈΠ½Π΅Π½ΠΈ Ρ ΠΎΠ±ΡΠ° ΡΠ΅Π». Π Π΅Π·ΡΠ»ΡΠ°ΡΠΈΡΠ΅ ΠΎΡ ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ²Π°Ρ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»Π½Π° ΡΡΠΎΠΉΠ½ΠΎΡΡ ΠΈΠ»ΠΈ Π΄Π° ΡΠ»ΡΠΆΠ°Ρ Π·Π° Π²Ρ
ΠΎΠ΄Π½ΠΈ Π΄Π°Π½Π½ΠΈ Π·Π° Π΄ΡΡΠ³ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ. Π‘ΠΊΡΠΈΠΏΡΠΎΠ²Π΅ΡΠ΅ ΡΠ° ΠΌΠΎΡΠ΅Π½ Π½Π°ΡΠΈΠ½ Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ Π½Π° ΡΠ΅ΡΡΠΎ ΠΈΠ·Π²ΡΡΡΠ²Π°Π½ΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ.
Π ΡΠ°ΠΊΠ°, Π°ΠΊΠΎ Π³ΠΎΠ²ΠΎΡΠΈΠΌ Π·Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΈΡ ΡΠ΅Π΄, ΡΠΎΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π½Π°Π²Π΅Π΄Π½ΡΠΆ, Π²ΡΠ²Π΅ΠΆΠ΄Π°ΠΉΠΊΠΈ Π³ΠΈ Ρ ΡΠΎΡΠΊΠ° ΠΈ Π·Π°ΠΏΠ΅ΡΠ°Ρ:
pwd ; whoami ΠΠ°ΠΈΡΡΠΈΠ½Π°, Π°ΠΊΠΎ ΡΡΠ΅ ΠΎΠΏΠΈΡΠ°Π»ΠΈ ΡΠΎΠ²Π° Π² ΡΠ²ΠΎΡ ΡΠ΅ΡΠΌΠΈΠ½Π°Π», Π²Π΅ΡΠ΅ ΡΡΠ΅ Π½Π°ΠΏΠΈΡΠ°Π»ΠΈ ΠΏΡΡΠ²ΠΈΡ ΡΠΈ bash ΡΠΊΡΠΈΠΏΡ, Π² ΠΊΠΎΠΉΡΠΎ ΡΠ° Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈ Π΄Π²Π΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ. Π Π°Π±ΠΎΡΠΈ ΠΏΠΎ ΡΠ»Π΅Π΄Π½ΠΈΡ Π½Π°ΡΠΈΠ½. ΠΡΡΠ²ΠΎ, ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° pwd ΠΈΠ·Π²Π΅ΠΆΠ΄Π° Π½Π° Π΅ΠΊΡΠ°Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΡΠ΅ΠΊΡΡΠ°ΡΠ° ΡΠ°Π±ΠΎΡΠ½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ, ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° whoamiΠΏΠΎΠΊΠ°Π·Π²Π° Π΄Π°Π½Π½ΠΈ Π·Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ, ΠΏΠΎΠ΄ ΠΊΠΎΠΉΡΠΎ ΡΡΠ΅ Π²Π»Π΅Π·Π»ΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°.
ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ ΠΏΠΎΠ΄Ρ ΠΎΠ΄, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠ°ΡΠ΅ Π½Π΅ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ Π±ΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π² Π΅Π΄Π½Π° Π»ΠΈΠ½ΠΈΡ, ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π΅ ΡΠ°ΠΌΠΎ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½ΠΈΡΡ Π±ΡΠΎΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΏΡΠ΅Π΄Π°Π΄Π°Ρ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ°. Π’ΠΎΠ²Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΡΠ»Π΅Π΄Π½Π°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π°:
getconf ARG_MAXΠΠΎΠΌΠ°Π½Π΄Π½ΠΈΡΡ ΡΠ΅Π΄ Π΅ ΠΎΡΠ»ΠΈΡΠ΅Π½ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, Π½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ Π²ΡΠ²Π΅ΠΆΠ΄Π°Ρ Π²ΡΠ΅ΠΊΠΈ ΠΏΡΡ, ΠΊΠΎΠ³Π°ΡΠΎ Π²ΡΠ·Π½ΠΈΠΊΠ½Π΅ Π½ΡΠΆΠ΄Π°. ΠΠ°ΠΊΠ²ΠΎ ΡΠ΅ ΠΊΠ°ΠΆΠ΅ΡΠ΅ Π΄Π° Π·Π°ΠΏΠΈΡΠ΅ΡΠ΅ Π½Π°Π±ΠΎΡ ΠΎΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π² ΡΠ°ΠΉΠ» ΠΈ ΠΏΡΠΎΡΡΠΎ Π΄Π° ΠΈΠ·Π²ΠΈΠΊΠ°ΡΠ΅ ΡΠΎΠ·ΠΈ ΡΠ°ΠΉΠ» Π·Π° ΡΡΡ Π½ΠΎΡΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅? ΠΡΡΡΠ½ΠΎΡΡ, ΡΠ°ΠΉΠ»ΡΡ, Π·Π° ΠΊΠΎΠΉΡΠΎ Π³ΠΎΠ²ΠΎΡΠΈΠΌ, ΡΠ΅ Π½Π°ΡΠΈΡΠ° ΡΠΊΡΠΈΠΏΡ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΈΡ ΡΠ΅Π΄.
ΠΠ°ΠΊ ΡΠ° ΡΡΡΡΠΊΡΡΡΠΈΡΠ°Π½ΠΈ bash ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ΡΠ΅
Π‘ΡΠ·Π΄Π°ΠΉΡΠ΅ ΠΏΡΠ°Π·Π΅Π½ ΡΠ°ΠΉΠ» Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° touch. Π ΠΏΡΡΠ²ΠΈΡ ΡΠ΅Π΄ ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΠΎΡΠΎΡΠΈΠΌ ΠΊΠΎΡ ΡΠΎΡΠ½ΠΎ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅. ΠΠ½ΡΠ΅ΡΠ΅ΡΡΠ²Π°ΠΌΠ΅ ΡΠ΅ ΠΎΡ bash, Π·Π°ΡΠΎΠ²Π° ΠΏΡΡΠ²ΠΈΡΡ ΡΠ΅Π΄ Π½Π° ΡΠ°ΠΉΠ»Π° ΡΠ΅ Π±ΡΠ΄Π΅ ΡΠ°ΠΊΡΠ²:
#!/bin/bash Π Π΄ΡΡΠ³ΠΈΡΠ΅ ΡΠ΅Π΄ΠΎΠ²Π΅ Π½Π° ΡΠΎΠ·ΠΈ ΡΠ°ΠΉΠ» ΡΠΈΠΌΠ²ΠΎΠ»ΡΡ ΡΠ΅ΡΠ΅ΡΠΊΠ° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠΌΠ΅Π½ΡΠ°ΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΎΠ±ΠΎΠ»ΠΊΠ°ΡΠ° Π½Π΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π°, ΠΏΡΡΠ²ΠΈΡΡ ΡΠ΅Π΄ Π΅ ΡΠΏΠ΅ΡΠΈΠ°Π»Π΅Π½ ΡΠ»ΡΡΠ°ΠΉ, ΡΡΠΊ ΡΠ΅ΡΠ΅ΡΠΊΠ°ΡΠ°, ΡΠ»Π΅Π΄Π²Π°Π½Π° ΠΎΡ ΡΠ΄ΠΈΠ²ΠΈΡΠ΅Π»Π΅Π½ Π·Π½Π°ΠΊ (ΡΠ°Π·ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎΡΡ Π½Π°ΡΠΈΡΠ°Ρ ) ΠΈ ΠΏΡΡΡ ΠΊΡΠΌ bash, ΡΠΊΠ°Π·Π²Π°Ρ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°, ΡΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΡΡ Π΅ ΡΡΠ·Π΄Π°Π΄Π΅Π½ ΠΈΠΌΠ΅Π½Π½ΠΎ Π·Π° bash.
ΠΠΎΠΌΠ°Π½Π΄ΠΈΡΠ΅ Π½Π° ΠΎΠ±ΠΎΠ»ΠΊΠ°ΡΠ° ΡΠ΅ ΠΎΡΠ΄Π΅Π»ΡΡ ΡΡΡ Π·Π½Π°ΠΊ Π·Π° Π½ΠΎΠ² ΡΠ΅Π΄, ΠΊΠΎΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ΅ ΡΠ΅ ΠΎΡΠ±Π΅Π»ΡΠ·Π²Π°Ρ ΡΡΡ Π·Π½Π°ΠΊ ΡΠ΅ΡΠ΅ΡΠΊΠ°. ΠΡΠΎ ΠΊΠ°ΠΊ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°:
#!/bin/bash
# This is a comment
pwd
whoamiΠ’ΡΠΊ, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΈΡ ΡΠ΅Π΄, ΠΌΠΎΠΆΠ΅ Π΄Π° Π·Π°ΠΏΠΈΡΠ²Π°ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π² Π΅Π΄ΠΈΠ½ ΡΠ΅Π΄, ΡΠ°Π·Π΄Π΅Π»ΡΠΉΠΊΠΈ Ρ ΡΠΎΡΠΊΠ° ΠΈ Π·Π°ΠΏΠ΅ΡΠ°Ρ. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π°, Π°ΠΊΠΎ ΠΏΠΈΡΠ΅ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠ΅Π΄ΠΎΠ²Π΅, ΡΠ°ΠΉΠ»ΡΡ Π΅ ΠΏΠΎ-Π»Π΅ΡΠ΅Π½ Π·Π° ΡΠ΅ΡΠ΅Π½Π΅. ΠΡΠ² Π²ΡΠ΅ΠΊΠΈ ΡΠ»ΡΡΠ°ΠΉ, ΠΎΠ±ΠΎΠ»ΠΊΠ°ΡΠ° ΡΠ΅ Π³ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΈ.
ΠΠ°ΡΡΡΠΎΠΉΠ²Π°Π½Π΅ Π½Π° ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡΡΠ° Π·Π° ΡΠ°ΠΉΠ»Π° Π½Π° ΡΡΠ΅Π½Π°ΡΠΈΡ
ΠΠ°ΠΏΠ°Π·Π΅ΡΠ΅ ΡΠ°ΠΉΠ»Π°, ΠΊΠ°ΡΠΎ ΠΌΡ Π΄Π°Π΄Π΅ΡΠ΅ ΠΈΠΌΠ΅ myscript, ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΠ° ΠΏΠΎ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° bash-ΡΠΊΡΠΈΠΏΡΠ° Π΅ ΠΏΠΎΡΡΠΈ Π·Π°Π²ΡΡΡΠ΅Π½Π°. Π‘Π΅Π³Π° ΠΎΡΡΠ°Π²Π° ΡΠ°ΠΌΠΎ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΠΌ ΡΠΎΠ·ΠΈ ΡΠ°ΠΉΠ» ΠΈΠ·ΠΏΡΠ»Π½ΠΈΠΌ, Π² ΠΏΡΠΎΡΠΈΠ²Π΅Π½ ΡΠ»ΡΡΠ°ΠΉ, ΠΏΡΠΈ ΠΎΠΏΠΈΡ Π΄Π° Π³ΠΎ ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅, ΡΠ΅ ΡΠ΅ ΡΠ±Π»ΡΡΠΊΠ°ΡΠ΅ Ρ Π³ΡΠ΅ΡΠΊΠ° Permission denied.

ΠΠΏΠΈΡ Π·Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°ΠΉΠ»Π° Π½Π° ΡΡΠ΅Π½Π°ΡΠΈΡ Ρ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ Π½Π°ΡΡΡΠΎΠ΅Π½ΠΈ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ
ΠΠ΅ΠΊΠ° Π½Π°ΠΏΡΠ°Π²ΠΈΠΌ ΡΠ°ΠΉΠ»Π° ΠΈΠ·ΠΏΡΠ»Π½ΠΈΠΌ:
chmod +x .\/myscriptΠ‘Π΅Π³Π° ΡΠ΅ ΠΎΠΏΠΈΡΠ°ΠΌΠ΅ Π΄Π° Π³ΠΎ ΠΈΠ·ΠΏΡΠ»Π½ΠΈΠΌ:
.\/myscriptΠ‘Π»Π΅Π΄ Π½Π°ΡΡΡΠΎΠΉΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡΡΠ° Π²ΡΠΈΡΠΊΠΎ ΡΠ°Π±ΠΎΡΠΈ ΠΊΠ°ΠΊΡΠΎ ΡΡΡΠ±Π²Π°.

Π£ΡΠΏΠ΅ΡΠ½ΠΎ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° bash-ΡΠΊΡΠΈΠΏΡΠ°
ΠΠ·Ρ ΠΎΠ΄ Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡΡΠ°
ΠΠ° ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΡΠ΅ΠΊΡΡ Π² ΠΊΠΎΠ½Π·ΠΎΠ»Π°ΡΠ° Π½Π° Linux ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° echo. ΠΠ΅ΠΊΠ° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Π·Π½Π°Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΠΎΠ·ΠΈ ΡΠ°ΠΊΡ ΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠ°ΠΌΠ΅ Π½Π°ΡΠΈΡ ΡΠΊΡΠΈΠΏΡ, Π΄ΠΎΠ±Π°Π²ΡΠΉΠΊΠΈ ΠΏΠΎΡΡΠ½Π΅Π½ΠΈΡ ΠΊΡΠΌ Π΄Π°Π½Π½ΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Ρ Π²Π΅ΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠΈΡΠ΅ Π² Π½Π΅Π³ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ:
#!/bin/bash
# our comment is here
echo "The current directory is:"
pwd
echo "The user logged in is:"
whoamiΠΡΠΎ ΠΊΠ°ΠΊΠ²ΠΎ ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΡΠ»Π΅Π΄ ΡΡΠ°ΡΡΠ° Π½Π° ΠΎΠ±Π½ΠΎΠ²Π΅Π½ΠΈΡ ΡΠΊΡΠΈΠΏΡ.

ΠΠ·Ρ
ΠΎΠ΄ Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡΡΠ° ΠΎΡ ΡΠΊΡΠΈΠΏΡΠ°
Π‘Π΅Π³Π° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΈΠ·Π²Π΅ΠΆΠ΄Π°ΠΌΠ΅ ΠΏΠΎΡΡΠ½ΠΈΡΠ΅Π»Π½ΠΈ Π½Π°Π΄ΠΏΠΈΡΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° echo. ΠΠΊΠΎ Π½Π΅ Π·Π½Π°Π΅ΡΠ΅ ΠΊΠ°ΠΊ Π΄Π° ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠ°ΡΠ΅ ΡΠ°ΠΉΠ», ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π°ΡΠ° Π½Π° Linux, ΠΈΠ»ΠΈ Π½Π΅ ΡΡΠ΅ ΡΡΠ΅ΡΠ°Π»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° echo, ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΡΠ΅ Π½Π° ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π».
ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ
ΠΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ Π΄Π° ΡΡΡ ΡΠ°Π½ΡΠ²Π°ΠΌΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π² ΡΠ°ΠΉΠ»Π° Π½Π° ΡΡΠ΅Π½Π°ΡΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ β ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈΡΠ΅ ΠΎΡ ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡΠ΅, Π·Π° Π΄Π° Π³ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΎΡ Π΄ΡΡΠ³ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ.
ΠΡΠΌΠ° Π½ΠΈΡΠΎ Π»ΠΎΡΠΎ Π² ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π±Π΅Π· ΡΡΡ ΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈΡΠ΅ ΠΎΡ ΡΡΡ Π½Π°ΡΠ° ΡΠ°Π±ΠΎΡΠ°, Π½ΠΎ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅ Π½Π° ΡΠ°ΠΊΡΠ² ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΡΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈ.
ΠΠΌΠ° Π΄Π²Π° ΡΠΈΠΏΠ° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π² bash-ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅:
- ΠΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π½Π° ΡΡΠ΅Π΄Π°ΡΠ°
- ΠΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ
ΠΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π½Π° ΡΡΠ΅Π΄Π°ΡΠ°
ΠΠΎΠ½ΡΠΊΠΎΠ³Π° Π² ΠΎΠ±ΠΎΠ»ΠΎΡΠ½ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΡΠ΅ ΡΠ°Π±ΠΎΡΠΈ Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ Π΄Π°Π½Π½ΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠΎ ΠΊΠ°ΠΊ Π΄Π° ΠΈΠ·Π²Π΅Π΄Π΅ΠΌ Π΄ΠΎΠΌΠ°ΡΠ½Π°ΡΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Π½Π° ΡΠ΅ΠΊΡΡΠΈΡ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»:
#!/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"Π‘Π΅Π³Π° ΡΡΠ΅Π½Π°ΡΠΈΡΡ ΡΠ΅ ΠΈΠ·Π²Π΅Π΄Π΅ ΡΠΎΡΠ½ΠΎ ΡΠΎΠ²Π°, ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ ΠΎΡΠ°ΠΊΠ²Π°.

ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΠΏΡΠ°Π²Π»ΡΠ²Π°ΡΠ° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎΡΡ Π·Π° ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° Π·Π½Π°ΠΊΠ° Π΄ΠΎΠ»Π°Ρ
ΠΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ
Π Π΄ΠΎΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΡΠΌ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈΡΠ΅ Π½Π° ΡΡΠ΅Π΄Π°ΡΠ°, bash-ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ Π·Π°Π΄Π°Π²Π°Π½Π΅ΡΠΎ ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π² ΡΡΠ΅Π½Π°ΡΠΈΡ. Π’Π΅Π·ΠΈ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ ΡΡΡ ΡΠ°Π½ΡΠ²Π°Ρ ΡΡΠΎΠΉΠ½ΠΎΡΡΡΠ° ΡΠΈ, Π΄ΠΎΠΊΠ°ΡΠΎ Π½Π΅ ΠΏΡΠΈΠΊΠ»ΡΡΠΈ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΡΠ΅Π½Π°ΡΠΈΡ.
ΠΠ°ΠΊΡΠΎ Π² ΡΠ»ΡΡΠ°Ρ ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ, Π΄ΠΎ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ΅ ΠΎΡΠ½Π°ΡΡΡΠ΅, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ Π·Π½Π°ΠΊΠ° Π΄ΠΎΠ»Π°Ρ:
TNW-CUS-FMP β ΠΏΡΠΎΠΌΠΎ ΠΊΠΎΠ΄ Π·Π° 10% ΠΎΡΡΡΡΠΏΠΊΠ° Π·Π° Π½Π°ΡΠΈΡΠ΅ ΡΡΠ»ΡΠ³ΠΈ, Π½Π°Π»ΠΈΡΠ΅Π½ Π·Π° Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° 7 Π΄Π½ΠΈ
#!/bin/bash
# testing variables
grade=5
person="Adam"
echo "$person is a good boy, he is in grade $grade"ΠΡΠΎ ΠΊΠ°ΠΊΠ²ΠΎ ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΡΠ»Π΅Π΄ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°ΠΊΡΠ² ΡΡΠ΅Π½Π°ΡΠΈΠΉ.

ΠΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π² ΡΡΠ΅Π½Π°ΡΠΈΡ
ΠΠΎΠΌΠ°Π½Π΄Π½ΠΎ ΠΏΠΎΠ΄ΡΡΠ°Π²ΡΠ½Π΅
ΠΠ΄Π½Π° ΠΎΡ Π½Π°ΠΉ-ΠΏΠΎΠ»Π΅Π·Π½ΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π° bash-ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ΡΠ΅ Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π΄Π° ΠΈΠ·Π²Π»Π΅ΡΠ΅ΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΡ ΠΈΠ·Ρ ΠΎΠ΄Π° Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ ΠΈ Π΄Π° Ρ Π·Π°Π΄Π°Π΄Π΅ΡΠ΅ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ°Π·ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π½Π°Π²ΡΡΠΊΡΠ΄Π΅ Π² ΡΠ°ΠΉΠ»Π° Π½Π° ΡΡΠ΅Π½Π°ΡΠΈΡ.
ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ΡΠΎΠ²Π° ΠΏΠΎ Π΄Π²Π° Π½Π°ΡΠΈΠ½Π°.
- Π‘ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Π·Π½Π°ΠΊ Π·Π° ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π΅Π΄ΠΈΠ½Π΅ΡΠ½Π° ΠΊΠ°Π²ΠΈΡΠΊΠ° Β«`Β»
- Π‘ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡΡΠ°
$()
ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΠΏΡΡΠ²ΠΈΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄, ΡΠ²Π΅ΡΠ΅ΡΠ΅ ΡΠ΅, ΡΠ΅ Π²ΠΌΠ΅ΡΡΠΎ ΠΎΠ±ΡΠ°ΡΠ½Π°ΡΠ° Π΅Π΄ΠΈΠ½ΠΈΡΠ½Π° ΠΊΠ°Π²ΠΈΡΠΊΠ° Π½Π΅ Π²ΡΠ²Π΅ΠΆΠ΄Π°ΡΠ΅ Π΅Π΄ΠΈΠ½ΠΈΡΠ½Π° ΠΊΠ°Π²ΠΈΡΠΊΠ°. ΠΠΎΠΌΠ°Π½Π΄Π°ΡΠ° ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π΅ Π·Π°ΠΊΠ»ΡΡΠ΅Π½Π° Π² Π΄Π²Π° ΡΠ°ΠΊΠΈΠ²Π° Π·Π½Π°ΠΊΠ°:
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. Π Π½Π°ΠΉ-ΠΏΡΠΎΡΡΠ°ΡΠ° ΡΠΈ ΡΠΎΡΠΌΠ° ΡΡ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΡΠ°ΠΊΠ°:
if ΠΊΠΎΠΌΠ°Π½Π΄Π°
then
ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ
fiΠ Π΅ΡΠΎ Π΅Π΄ΠΈΠ½ ΡΠ°Π±ΠΎΡΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Ρ:
#!/bin/bash
if pwd
then
echo "It works"
fi Π ΡΠΎΠ·ΠΈ ΡΠ»ΡΡΠ°ΠΉ, Π°ΠΊΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° pwdΠ·Π°Π²ΡΡΡΠΈ ΡΡΠΏΠ΅ΡΠ½ΠΎ, Π² ΠΊΠΎΠ½Π·ΠΎΠ»Π°ΡΠ° ΡΠ΅ ΡΠ΅ ΠΈΠ·Π²Π΅Π΄Π΅ ΡΠ΅ΠΊΡΡΡΡ βit worksβ.
ΠΠ΅ΠΊΠ° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Π·Π½Π°Π½ΠΈΡΡΠ°, ΠΊΠΎΠΈΡΠΎ ΠΈΠΌΠ°ΠΌΠ΅, ΠΈ Π΄Π° Π½Π°ΠΏΠΈΡΠ΅ΠΌ ΠΏΠΎ-ΡΠ»ΠΎΠΆΠ΅Π½ ΡΡΠ΅Π½Π°ΡΠΈΠΉ. ΠΠ°ΠΆΠ΅ΡΠ΅, ΡΡΡΠ±Π²Π° Π΄Π° Π½Π°ΠΌΠ΅ΡΠΈΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π» Π² /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. ΠΡΠΎ ΠΊΠ°ΠΊ Π΅ ΡΡΡΡΠΊΡΡΡΠΈΡΠ°Π½Π°:
if ΠΊΠΎΠΌΠ°Π½Π΄Π°
then
ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ
else
ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ
fi ΠΠΊΠΎ ΠΏΡΡΠ²Π°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΡΡΠ½Π΅ Π½ΡΠ»Π°, ΠΊΠΎΠ΅ΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π²Π° ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅, ΡΡΠ»ΠΎΠ²ΠΈΠ΅ΡΠΎ ΡΠ΅ Π±ΡΠ΄Π΅ ΠΈΡΡΠΈΠ½Π½ΠΎ ΠΈ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½ΡΠΌΠ° Π΄Π° ΡΠ΅ Π½Π°ΡΠΎΡΠΈ ΠΏΠΎ ΠΊΠ»ΠΎΠ½Π° ΠΈΠ½Π°ΡΠ΅. Π ΠΏΡΠΎΡΠΈΠ²Π΅Π½ ΡΠ»ΡΡΠ°ΠΉ, Π°ΠΊΠΎ Π±ΡΠ΄Π΅ Π²ΡΡΠ½Π°ΡΠΎ Π½Π΅ΡΠΎ, ΡΠ°Π·Π»ΠΈΡΠ½ΠΎ ΠΎΡ Π½ΡΠ»Π°, ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ ΠΎΠ·Π½Π°ΡΠ°Π²Π° Π½Π΅ΡΡΠΏΠ΅Ρ
, ΠΈΠ»ΠΈ Π»ΡΠΆΠ΅Ρ, ΡΠ΅ ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡΠ΅, ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈ ΡΠ»Π΅Π΄ ΠΈΠ½Π°ΡΠ΅.
ΠΠ° Π½Π°ΠΏΠΈΡΠ΅ΠΌ ΡΠ°ΠΊΡΠ² ΡΠΊΡΠΈΠΏΡ:
#!/bin/bash
user=anotherUser
if grep $user /etc/passwd
then
echo "The user $user Exists"
else
echo "The user $user doesnβt exist"
fi ΠΠ΅Π³ΠΎΠ²ΠΎΡΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠ΅ΠΌΠΈΠ½Π° ΠΏΠΎ ΠΊΠ»ΠΎΠ½Π° ΠΈΠ½Π°ΡΠ΅.

Π‘ΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΊΡΠΈΠΏΡΠ° Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡΡΠ° if-then-else
Π‘Π΅Π³Π° ΡΠ΅ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈΠΌ Π½Π°ΠΏΡΠ΅Π΄ ΠΈ ΡΠ΅ ΡΠ΅ Π·Π°ΠΏΠΈΡΠ°ΠΌΠ΅ Π·Π° ΠΏΠΎ-ΡΠ»ΠΎΠΆΠ½ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡ. ΠΠ°ΠΊΠ²ΠΎ ΡΠ΅ ΡΡΠ°Π½Π΅, Π°ΠΊΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΠΈΠΌ Π½Π΅ Π΅Π΄Π½ΠΎ ΡΡΠ»ΠΎΠ²ΠΈΠ΅, Π° Π½ΡΠΊΠΎΠ»ΠΊΠΎ? ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π°ΠΊΠΎ Π½Π°ΠΌΠ΅ΡΠΈΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈΡ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π», ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠ·Π²Π΅Π΄Π΅ΠΌ Π΅Π΄Π½ΠΎ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, Π° Π°ΠΊΠΎ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°ΠΌΠ΅ ΠΎΡΠ΅ Π½ΡΠΊΠ°ΠΊΠ²ΠΎ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ β Π΄ΡΡΠ³ΠΎ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΈ ΡΠ°ΠΊΠ° Π½Π°ΡΠ°ΡΡΠΊ. Π ΠΏΠΎΠ΄ΠΎΠ±Π½Π° ΡΠΈΡΡΠ°ΡΠΈΡ Π²Π»ΠΎΠΆΠ΅Π½ΠΈΡΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΡ ΡΠ΅ Π½ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π°Ρ. ΠΠ·Π³Π»Π΅ΠΆΠ΄Π° ΠΏΠΎ ΡΠ»Π΅Π΄Π½ΠΈΡ Π½Π°ΡΠΈΠ½:
if ΠΊΠΎΠΌΠ°Π½Π΄Π°1
then
ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ
elif ΠΊΠΎΠΌΠ°Π½Π΄Π°2
then
ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ
fi ΠΠΊΠΎ ΠΏΡΡΠ²Π°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΡΡΠ½Π΅ Π½ΡΠ»Π°, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠΊΠ°Π·Π²Π°, ΡΠ΅ Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½Π°, ΡΠ΅ ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡΠ΅ Π² ΠΏΡΡΠ²ΠΈΡ Π±Π»ΠΎΠΊ ΡΠΎΠ³Π°Π²Π°, ΠΈΠ½Π°ΡΠ΅, Π°ΠΊΠΎ ΠΏΡΡΠ²ΠΎΡΠΎ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π΅ Π½Π΅Π²ΡΡΠ½ΠΎ, ΠΈ Π°ΠΊΠΎ Π²ΡΠΎΡΠ°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΡΡΠ½Π΅ Π½ΡΠ»Π°, ΡΠ΅ ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΠΈ Π²ΡΠΎΡΠΈΡΡ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄.
#!/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, Π² ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° ΠΊΠ»ΠΎΠ½ΡΡ Π½Π° ΡΠΎΠ³Π°Π²Π°ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° Π·Π° ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΠΈ Π² ΠΊΠΎΠ½Π·ΠΎΠ»Π°ΡΠ° ΡΠ΅ ΠΈΠ·Π²Π΅ΠΆΠ΄Π° ΡΡΠΎΡΠ²Π΅ΡΠ½ΠΎΡΠΎ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅.
Π‘ΡΠ°Π²Π½ΡΠ²Π°Π½Π΅ Π½Π° Π½ΠΈΠ·ΠΎΠ²Π΅
Π ΡΡΠ΅Π½Π°ΡΠΈΠΈ Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ ΡΡΠ°Π²Π½ΡΠ²Π°Ρ ΠΈ Π½ΠΈΠ·ΠΎΠ²ΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ. ΠΠΏΠ΅ΡΠ°ΡΠΎΡΠΈΡΠ΅ Π·Π° ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°Ρ Π΄ΠΎΡΡΠ° ΠΏΡΠΎΡΡΠΎ, Π½ΠΎ ΠΏΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅ Π·Π° ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Π½Π° Π½ΠΈΠ·ΠΎΠ²Π΅ ΠΈΠΌΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΎΡΠΎΠ±Π΅Π½ΠΎΡΡΠΈ, Π½Π° ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΡΠ΅ ΡΠΏΡΠ΅ΠΌ ΠΏΠΎ-Π΄ΠΎΠ»Ρ. ΠΡΠΎ ΡΠΏΠΈΡΡΠΊ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΈΡΠ΅.
str1 = str2ΠΡΠΎΠ²Π΅ΡΡΠ²Π° ΡΠ°Π²Π΅Π½ΡΡΠ²ΠΎΡΠΎ Π½Π° Π½ΠΈΠ·ΠΎΠ²Π΅ΡΠ΅, Π²ΡΡΡΠ° ΠΈΡΡΠΈΠ½Π°, Π°ΠΊΠΎ Π½ΠΈΠ·ΠΎΠ²Π΅ΡΠ΅ ΡΠ° ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΠΈ.
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ΠΠΎΠ³Π°ΡΠΎ Π±ΡΠ΄Π΅ ΡΡΠ°ΡΡΠΈΡΠ°Π½, ΡΠ΅ ΡΠ΅ ΠΎΠΊΠ°ΠΆΠ΅, ΡΠ΅ Π²ΡΠΈΡΠΊΠΎ Π΅ ΡΠΎΡΠ½ΠΎ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΡΠΎ β ΠΌΠ°Π»ΠΊΠ°ΡΠ° Π±ΡΠΊΠ²Π° ΡΠ΅Π³Π° Π΅ ΠΏΠΎ-Π³ΠΎΠ»ΡΠΌΠ° ΠΎΡ Π³Π»Π°Π²Π½Π°ΡΠ°.

ΠΠΎΠΌΠ°Π½Π΄Π°ΡΠ° sort ΠΈ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π½ΠΈΠ·ΠΎΠ²Π΅ Π² ΡΡΠ΅Π½Π°ΡΠΈΡ
Π ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡΠ΅ Π·Π° ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Π³Π»Π°Π²Π½ΠΈΡΠ΅ Π±ΡΠΊΠ²ΠΈ ΡΠ° ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΈ ΠΎΡ ΠΌΠ°Π»ΠΊΠΈΡΠ΅. Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π½ΠΈΠ·ΠΎΠ²Π΅ ΡΡΠΊ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° ΡΡΠ΅Π· ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Π½Π° ASCII ΠΊΠΎΠ΄ΠΎΠ²Π΅ΡΠ΅ Π½Π° ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅, ΡΠ°ΠΊΠ° ΡΠ΅Π΄ΡΡ Π½Π° ΡΠΎΡΡΠΈΡΠ°Π½Π΅ Π·Π°Π²ΠΈΡΠΈ ΠΎΡ ΠΊΠΎΠ΄ΠΎΠ²Π΅ΡΠ΅ Π½Π° ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅.
ΠΠΊΠΈΠΏ sort, ΠΎΡ ΡΠ²ΠΎΡ ΡΡΡΠ°Π½Π°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠ΅Π΄Π° Π½Π° ΡΠΎΡΡΠΈΡΠ°Π½Π΅, Π·Π°Π΄Π°Π΄Π΅Π½ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈΡ Π΅Π·ΠΈΠΊ.
ΠΡΠΎΠ²Π΅ΡΠΊΠΈΡΠ΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅
ΠΠΎΠΆΠ΅ Π±ΠΈ ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π½Π°ΠΉ-ΡΠ΅ΡΡΠΎ Π² bash ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅. Π’Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡ, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅. ΠΡΠΎ ΡΠΏΠΈΡΡΠΊ Ρ ΡΠ΅Π·ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ.
-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ΠΡΠΎΠ²Π΅ΡΡΠ²Π°, Π΄Π°Π»ΠΈ ΡΠ°ΠΉΠ»ΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π° ΠΈ Π΄Π°Π»ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡΡ ΠΌΡ Π½Π° Π³ΡΡΠΏΠ°ΡΠ° ΡΡΠ²ΠΏΠ°Π΄Π° Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° Π½Π° Π³ΡΡΠΏΠ°ΡΠ° Π½Π° ΡΠ΅ΠΊΡΡΠΈΡ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π».
Π’Π΅Π·ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΡΡΠ³ΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ°Π·Π³Π»Π΅Π΄Π°Ρ ΠΌΠ΅ Π΄Π½Π΅Ρ, Π½Π΅ Π΅ ΡΡΡΠ΄Π½ΠΎ Π΄Π° Π±ΡΠ΄Π°Ρ Π·Π°ΠΏΠΎΠΌΠ½Π΅Π½ΠΈ. ΠΠΌΠ΅Π½Π°ΡΠ° ΠΈΠΌ, ΠΊΠΎΠΈΡΠΎ ΡΠ° ΡΡΠΊΡΠ°ΡΠ΅Π½ΠΈΡ ΠΎΡ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π΄ΡΠΌΠΈ, ΡΡΠ½ΠΎ ΠΏΠΎΠΊΠ°Π·Π²Π°Ρ ΠΊΠ°ΠΊΠ²ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π°Ρ.
ΠΠ΅ΠΊΠ° Π΄Π° ΠΎΠΏΠΈΡΠ°ΠΌΠ΅ Π΅Π΄Π½Π° ΠΎΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡΠ΅ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ°:
#!/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Π’ΠΎΠ·ΠΈ ΡΠΊΡΠΈΠΏΡ, Π·Π° ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ, ΡΠ΅ ΠΈΠ·Π²Π΅Π΄Π΅ Π½Π΅ΠΉΠ½ΠΎΡΠΎ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅.

ΠΠ·Ρ
ΠΎΠ΄ Π½Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΡΠ°
ΠΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°ΠΌΠ΅, ΡΠ΅ Ρ ΠΎΡΡΠ°Π½Π°Π»ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ ΡΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΠ°ΡΠ΅ ΡΠ°ΠΌΠΈ, Π²ΡΠΈΡΠΊΠΈ ΡΠ΅ ΡΠ΅ ΠΏΡΠΈΠ»Π°Π³Π°Ρ ΠΏΠΎ ΡΡΡΠΈΡ ΠΏΡΠΈΠ½ΡΠΈΠΏ.
ΠΡΠΎΠ³
ΠΠ½Π΅Ρ Π³ΠΎΠ²ΠΎΡΠΈΡ ΠΌΠ΅ Π·Π° ΡΠΎΠ²Π° ΠΊΠ°ΠΊ Π΄Π° Π·Π°ΠΏΠΎΡΠ½Π΅ΠΌ Ρ ΠΏΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° bash-ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ ΠΈ ΡΠ°Π·Π³Π»Π΅Π΄Π°Ρ ΠΌΠ΅ Π½ΡΠΊΠΎΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΈ Π½Π΅ΡΠ°. ΠΡΡΡΠ½ΠΎΡΡ ΡΠ΅ΠΌΠ°ΡΠ° Π·Π° bash-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅ΡΠΎ Π΅ ΠΎΠ³ΡΠΎΠΌΠ½Π°. Π’Π°Π·ΠΈ ΡΡΠ°ΡΠΈΡ Π΅ ΠΏΡΠ΅Π²ΠΎΠ΄ Π½Π° ΠΏΡΡΠ²Π°ΡΠ° ΡΠ°ΡΡ ΠΎΡ Π³ΠΎΠ»ΡΠΌΠ° ΡΠ΅ΡΠΈΡ ΠΎΡ 11 ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π°. ΠΠΊΠΎ ΠΈΡΠΊΠ°ΡΠ΅ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ΅Π½ΠΈΠ΅ Π²Π΅Π΄Π½Π°Π³Π° β Π΅ΡΠΎ ΡΠΏΠΈΡΡΠΊ Π½Π° ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΠΈΡΠ΅ Π½Π° ΡΠ΅Π·ΠΈ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΈ. ΠΠ° ΡΠ΄ΠΎΠ±ΡΡΠ²ΠΎ ΡΡΠΊ Π΅ Π²ΠΊΠ»ΡΡΠ΅Π½ ΠΈ ΡΠΎΠ·ΠΈ, ΠΊΠΎΠΉΡΠΎ ΡΠΎΠΊΡ-ΡΠΎ ΠΏΡΠΎΡΠ΅ΡΠΎΡ ΡΠ΅.
- β ΡΡΠΊ ΡΠ΅ Π³ΠΎΠ²ΠΎΡΠΈ Π·Π° ΡΠΎΠ²Π° ΠΊΠ°ΠΊ Π΄Π° Π·Π°ΠΏΠΎΡΠ½Π΅ΡΠ΅ Π΄Π° ΡΡΠ·Π΄Π°Π²Π°ΡΠ΅ bash-ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅, ΡΠ°Π·Π³Π»Π΅ΠΆΠ΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ, ΠΎΠΏΠΈΡΠ°Π½ΠΈ ΡΠ° ΡΡΠ»ΠΎΠ²Π½ΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ, ΠΈΠ·ΡΠΈΡΠ»Π΅Π½ΠΈΡ, ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Π½Π° ΡΠΈΡΠ»Π°, Π½ΠΈΠ·ΠΎΠ²Π΅, ΡΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅.
- β ΡΡΠΊ ΡΠ΅ ΡΠ°Π·Π³Π»Π΅ΠΆΠ΄Π°Ρ ΠΎΡΠΎΠ±Π΅Π½ΠΎΡΡΠΈΡΠ΅ Π½Π° ΡΠ°Π±ΠΎΡΠ° Ρ ΡΠΈΠΊΠ»ΠΈ for ΠΈ while.
- β ΡΠΎΠ·ΠΈ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π» Π΅ ΠΏΠΎΡΠ²Π΅ΡΠ΅Π½ Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΈΡ ΡΠ΅Π΄ ΠΈ ΠΊΠ»ΡΡΠΎΠ²Π΅ΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΏΡΠ΅Π΄Π°Π²Π°Ρ Π½Π° ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ΡΠ΅, ΡΠ°Π±ΠΎΡΠ° Ρ Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΡ Π²ΡΠ²Π΅ΠΆΠ΄Π°, ΠΈ ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΡΠ΅ΡΠ°Ρ ΠΎΡ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅.
- β ΡΡΠΊ ΡΠ΅ ΡΠ°Π·Π³Π»Π΅ΠΆΠ΄Π°Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈΡΠ΅ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΈ ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΠ° Ρ ΡΡΡ , ΠΏΠΎΡΠΎΡΠΈΡΠ΅ Π½Π° Π²Ρ ΠΎΠ΄, ΠΈΠ·Ρ ΠΎΠ΄, Π³ΡΠ΅ΡΠΊΠΈ, ΠΏΡΠ΅Π½Π°ΡΠΎΡΠ²Π°Π½Π΅ Π½Π° ΠΈΠ·Ρ ΠΎΠ΄Π°.
- β ΡΠΎΠ·ΠΈ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π» Π΅ ΠΏΠΎΡΠ²Π΅ΡΠ΅Π½ Π½Π° ΡΠΈΠ³Π½Π°Π»ΠΈΡΠ΅ Π½Π° Linux, ΡΡΡ Π½Π°ΡΠ° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π² ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅, ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠ΅Π½Π°ΡΠΈΠΈ ΠΏΠΎ Π³ΡΠ°ΡΠΈΠΊ.
- β ΡΡΠΊ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π½Π°ΡΡΠΈΡΠ΅ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Π½Π΅ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ.
- β ΡΠ°Π·ΠΈ ΡΡΠ°ΡΠΈΡ Π΅ ΠΏΠΎΡΠ²Π΅ΡΠ΅Π½Π° Π½Π° ΡΠ°Π±ΠΎΡΠ° Ρ ΠΏΠΎΡΠΎΡΠ½ΠΈΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ sed.
- β ΡΠΎΠ·ΠΈ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π» Π΅ ΠΏΠΎΡΠ²Π΅ΡΠ΅Π½ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Π΅Π·ΠΈΠΊΠ° Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π΄Π°Π½Π½ΠΈ awk.
- β ΡΡΠΊ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΡΠΎΡΠ΅ΡΠ΅ΡΠ΅ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΈ ΠΈΠ·ΡΠ°Π·ΠΈ Π² bash ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅.
- β ΡΡΠΊ ΡΠ° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π΅Π½ΠΈ ΡΠ΅Ρ Π½ΠΈΠΊΠΈ Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½ΠΈ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈΠΊΠ° Π·Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ Π½Π° Π΄ΠΈΡΠΊΠ°.
- β ΡΠΎΠ·ΠΈ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π» Π΅ ΠΏΠΎΡΠ²Π΅ΡΠ΅Π½ Π½Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° Expect, Ρ ΠΊΠΎΠΉΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠ°ΡΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ΡΠΎ Ρ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΈ ΡΡΠΈΠ»ΠΈΡΠΈ. Π ΡΠ°ΡΡΠ½ΠΎΡΡ, ΡΡΠΊ ΡΡΠ°Π²Π° Π΄ΡΠΌΠ° Π·Π° expect ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ ΠΈ ΡΡΡ Π½ΠΎΡΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ bash ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ ΠΈ Π΄ΡΡΠ³ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ.
Π‘ΠΌΡΡΠ°ΠΌΠ΅, ΡΠ΅ Π΅Π΄Π½ΠΎ ΠΎΡ ΡΠ΅Π½Π½ΠΈΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° Π½Π° ΡΠ°Π·ΠΈ ΡΠ΅ΡΠΈΡ ΡΡΠ°ΡΠΈΠΈ Π΅, ΡΠ΅ ΡΡ, Π·Π°ΠΏΠΎΡΠ²Π°ΠΉΠΊΠΈ Ρ Π½Π°ΠΉ-ΠΏΡΠΎΡΡΠΎΡΠΎ, ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΎ Π·Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ Π½Π° Π²ΡΡΠΊΠΎ Π½ΠΈΠ²ΠΎ, ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎ Π²ΠΎΠ΄ΠΈ Π΄ΠΎ Π΄ΠΎΡΡΠ° ΡΠ΅ΡΠΈΠΎΠ·Π½ΠΈ ΡΠ΅ΠΌΠΈ, Π΄Π°Π²Π°ΠΉΠΊΠΈ ΡΠ°Π½Ρ Π½Π° Π²ΡΠΈΡΠΊΠΈ ΠΆΠ΅Π»Π°Π΅ΡΠΈ Π΄Π° Π½Π°ΠΏΡΠ΅Π΄Π½Π°Ρ Π² ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° Linux ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΈ ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅.
Π£Π²Π°ΠΆΠ°Π΅ΠΌΠΈ ΡΠΈΡΠ°ΡΠ΅Π»ΠΈ! ΠΠΎΠ»ΠΈΠΌ Π³ΡΡΡΡΠ° Π½Π° bash ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅ΡΠΎ Π΄Π° ΡΠΏΠΎΠ΄Π΅Π»ΡΡ ΠΊΠ°ΠΊ ΡΠ° Π΄ΠΎΡΡΠΈΠ³Π½Π°Π»ΠΈ Π²ΡΡΡ ΠΎΠ²Π΅ΡΠ΅ Π½Π° ΠΌΠ°ΠΉΡΡΠΎΡΡΡΠ²ΠΎΡΠΎ, Π΄Π° ΡΠΏΠΎΠ΄Π΅Π»ΡΡ ΡΠ°ΠΉΠ½ΠΈΡΠ΅ ΡΠΈ, Π° ΠΎΡ ΡΠ΅Π·ΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠΎΠΊΡ ΡΠΎ ΡΠ° Π½Π°ΠΏΠΈΡΠ°Π»ΠΈ ΡΠ²ΠΎΡ ΠΏΡΡΠ²ΠΈ ΡΠΊΡΠΈΠΏΡ, ΠΎΡΠ°ΠΊΠ²Π°ΠΌΠ΅ Π²ΠΏΠ΅ΡΠ°ΡΠ»Π΅Π½ΠΈΡ.
Π‘Π°ΠΌΠΎ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ°Π½ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΡΠ°ΡΡΠ²Π°Ρ Π² Π°Π½ΠΊΠ΅ΡΠ°ΡΠ°. , ΠΌΠΎΠ»Ρ.
ΠΠ° ΠΏΡΠ΅Π²Π΅Π΄Π΅ΠΌ Π»ΠΈ ΠΎΡΡΠ°Π½Π°Π»ΠΈΡΠ΅ ΡΠ°ΡΡΠΈ ΠΎΡ ΡΠΈΠΊΡΠ»Π° ΡΡΠ°ΡΠΈΠΈ?
ΠΠ°!
ΠΠ΅, Π½Π΅ Π΅ Π½ΡΠΆΠ½ΠΎ
ΠΠ»Π°ΡΡΠ²Π°Ρ
Π° 1030 ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ. 106 ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ ΡΠ΅ Π²ΡΠ·Π΄ΡΡΠΆΠ°Ρ
Π°.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: habr.com
