Bash-ΡΠΊΡΠΈΠΏΡΡ: Π½Π°ΡΠ°Π»ΠΎ
Bash-ΡΠΊΡΠΈΠΏΡΡ, ΡΠ°ΡΡΡ 2: ΡΠΈΠΊΠ»Ρ
Bash-ΡΠΊΡΠΈΠΏΡΡ, ΡΠ°ΡΡΡ 3: ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΈ ΠΊΠ»ΡΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ
Bash-ΡΠΊΡΠΈΠΏΡΡ, ΡΠ°ΡΡΡ 4: Π²Π²ΠΎΠ΄ ΠΈ Π²ΡΠ²ΠΎΠ΄
Bash-ΡΠΊΡΠΈΠΏΡΡ, ΡΠ°ΡΡΡ 5: ΡΠΈΠ³Π½Π°Π»Ρ, ΡΠΎΠ½ΠΎΠ²ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ, ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΡΠΌΠΈ
Bash-ΡΠΊΡΠΈΠΏΡΡ, ΡΠ°ΡΡΡ 6: ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ
Bash-ΡΠΊΡΠΈΠΏΡΡ, ΡΠ°ΡΡΡ 7: sed ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠ΅ΠΊΡΡΠΎΠ²
Bash-ΡΠΊΡΠΈΠΏΡΡ, ΡΠ°ΡΡΡ 8: ΡΠ·ΡΠΊ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ awk
Bash-ΡΠΊΡΠΈΠΏΡΡ, ΡΠ°ΡΡΡ 9: ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ
Bash-ΡΠΊΡΠΈΠΏΡΡ, ΡΠ°ΡΡΡ 10: ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ
Bash-ΡΠΊΡΠΈΠΏΡΡ, ΡΠ°ΡΡΡ 11: expect ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΡ ΡΡΠΈΠ»ΠΈΡ
Π‘Π΅Π³ΠΎΠ΄Π½Ρ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎ bash-ΡΠΊΡΠΈΠΏΡΠ°Ρ
. ΠΡΠΎ β
Π‘ΡΠ΅Π½Π°ΡΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ β ΡΡΠΎ Π½Π°Π±ΠΎΡΡ ΡΠ΅Ρ
ΠΆΠ΅ ΡΠ°ΠΌΡΡ
ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Π²ΠΎΠ΄ΠΈΡΡ Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ, ΡΠΎΠ±ΡΠ°Π½Π½ΡΠ΅ Π² ΡΠ°ΠΉΠ»Ρ ΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ½Π½ΡΠ΅ Π½Π΅ΠΊΠΎΠ΅ΠΉ ΠΎΠ±ΡΠ΅ΠΉ ΡΠ΅Π»ΡΡ. ΠΡΠΈ ΡΡΠΎΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΌΠΎΠ³ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ Π»ΠΈΠ±ΠΎ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΡΡ ΡΠ΅Π½Π½ΠΎΡΡΡ, Π»ΠΈΠ±ΠΎ ΡΠ»ΡΠΆΠΈΡΡ Π²Ρ
ΠΎΠ΄Π½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ Π΄Π»Ρ Π΄ΡΡΠ³ΠΈΡ
ΠΊΠΎΠΌΠ°Π½Π΄. Π‘ΡΠ΅Π½Π°ΡΠΈΠΈ β ΡΡΠΎ ΠΌΠΎΡΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°ΡΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ
Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ.
ΠΡΠ°ΠΊ, Π΅ΡΠ»ΠΈ Π³ΠΎΠ²ΠΎΡΠΈΡΡ ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅, ΠΎΠ½Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ Π·Π° ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·, Π²Π²Π΅Π΄Ρ ΠΈΡ ΡΠ΅ΡΠ΅Π· ΡΠΎΡΠΊΡ Ρ Π·Π°ΠΏΡΡΠΎΠΉ:
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
ΠΡΠ»ΠΈ ΠΏΠ΅ΡΠ²Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠΈΡ Π½ΠΎΠ»Ρ, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ Π΅Ρ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΎΠΊΠ°ΠΆΠ΅ΡΡΡ ΠΈΡΡΠΈΠ½Π½ΡΠΌ ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π΅ ΠΏΠΎΠΉΠ΄ΡΡ ΠΏΠΎ Π²Π΅ΡΠΊΠ΅ 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-then-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
ΠΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΡΡΡΠΎΠΊΠΈ Π½Π° ΡΠ°Π²Π΅Π½ΡΡΠ²ΠΎ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΈΡΡΠΈΠ½Ρ, Π΅ΡΠ»ΠΈ ΡΡΡΠΎΠΊΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½Ρ.
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 Script Step By Step β Π·Π΄Π΅ΡΡ ΡΠ΅ΡΡ ΠΈΠ΄ΡΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ Π½Π°ΡΠ°ΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ bash-ΡΠΊΡΠΈΠΏΡΠΎΠ², ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , ΠΎΠΏΠΈΡΠ°Π½Ρ ΡΡΠ»ΠΎΠ²Π½ΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ, Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ, ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΡΠΈΡΠ΅Π», ΡΡΡΠΎΠΊ, Π²ΡΡΡΠ½Π΅Π½ΠΈΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΠΉ ΠΎ ΡΠ°ΠΉΠ»Π°Ρ .Bash Scripting Part 2, Bash the awesome β ΡΡΡ ΡΠ°ΡΠΊΡΡΠ²Π°ΡΡΡΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠΈΠΊΠ»Π°ΠΌΠΈ for ΠΈ while.Bash Scripting Part 3, Parameters & options β ΡΡΠΎΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π» ΠΏΠΎΡΠ²ΡΡΡΠ½ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΈ ΠΊΠ»ΡΡΠ°ΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΡΠΊΡΠΈΠΏΡΠ°ΠΌ, ΡΠ°Π±ΠΎΡΠ΅ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π²ΠΎΠ΄ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΈ ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΈΡΠ°ΡΡ ΠΈΠ· ΡΠ°ΠΉΠ»ΠΎΠ².Bash Scripting Part 4, Input & Output β Π·Π΄Π΅ΡΡ ΡΠ΅ΡΡ ΠΈΠ΄ΡΡ ΠΎ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠ°Ρ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ ΠΎ ΡΠ°Π±ΠΎΡΠ΅ Ρ Π½ΠΈΠΌΠΈ, ΠΎ ΠΏΠΎΡΠΎΠΊΠ°Ρ Π²Π²ΠΎΠ΄Π°, Π²ΡΠ²ΠΎΠ΄Π°, ΠΎΡΠΈΠ±ΠΎΠΊ, ΠΎ ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ Π²ΡΠ²ΠΎΠ΄Π°.Bash Scripting Part 5, Sighals & Jobs β ΡΡΠΎΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π» ΠΏΠΎΡΠ²ΡΡΡΠ½ ΡΠΈΠ³Π½Π°Π»Π°ΠΌ Linux, ΠΈΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ Π² ΡΠΊΡΠΈΠΏΡΠ°Ρ , Π·Π°ΠΏΡΡΠΊΡ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² ΠΏΠΎ ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΡ.Bash Scripting Part 6, Functions β ΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ·Π½Π°ΡΡ ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ Π² ΡΠΊΡΠΈΠΏΡΠ°Ρ , ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ.Bash Scripting Part 7, Using sed β ΡΡΠ° ΡΡΠ°ΡΡΡ ΠΏΠΎΡΠ²ΡΡΠ΅Π½Π° ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΏΠΎΡΠΎΠΊΠΎΠ²ΡΠΌ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΌ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠΎΠΌ sed.Bash Scripting Part 8, Using awk β Π΄Π°Π½Π½ΡΠΉ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π» ΠΏΠΎΡΠ²ΡΡΡΠ½ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° ΡΠ·ΡΠΊΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ awk.Bash Scripting Part 9, Regular Expressions β ΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΈΡΠ°ΡΡ ΠΎΠ± ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π² bash-ΡΠΊΡΠΈΠΏΡΠ°Ρ .Bash Scripting Part 10, Practical Examples β Π·Π΄Π΅ΡΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ ΠΏΡΠΈΡΠΌΡ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ, Π° ΡΠ°ΠΊ ΠΆΠ΅ ΠΌΠ΅ΡΠΎΠ΄ΠΈΠΊΠ° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° Π΄ΠΈΡΠΊΠ°.Bash Scripting Part 11, Expect Command β ΡΡΠΎΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π» ΠΏΠΎΡΠ²ΡΡΡΠ½ ΡΡΠ΅Π΄ΡΡΠ²Ρ Expect, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠΌΠΈ ΡΡΠΈΠ»ΠΈΡΠ°ΠΌΠΈ. Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, Π·Π΄Π΅ΡΡ ΠΈΠ΄ΡΡ ΡΠ΅ΡΡ ΠΎΠ± expect-ΡΠΊΡΠΈΠΏΡΠ°Ρ ΠΈ ΠΎΠ± ΠΈΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠΈ Ρ bash-ΡΠΊΡΠΈΠΏΡΠ°ΠΌΠΈ ΠΈ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌΠΈ.
ΠΠΎΠ»Π°Π³Π°Π΅ΠΌ, ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΡΠ΅Π½Π½ΡΡ ΡΠ²ΠΎΠΉΡΡΠ² ΡΡΠΎΠΉ ΡΠ΅ΡΠΈΠΈ ΡΡΠ°ΡΠ΅ΠΉ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠ½Π°, Π½Π°ΡΠΈΠ½Π°ΡΡΡ Ρ ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ, ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠ΅Π³ΠΎ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ, ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎ Π²Π΅Π΄ΡΡ ΠΊ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠ΅ΡΡΡΠ·Π½ΡΠΌ ΡΠ΅ΠΌΠ°ΠΌ, Π΄Π°Π²Π°Ρ ΡΠ°Π½Ρ Π²ΡΠ΅ΠΌ ΠΆΠ΅Π»Π°ΡΡΠΈΠΌ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΡΡ Π² Π΄Π΅Π»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Linux.
Π£Π²Π°ΠΆΠ°Π΅ΠΌΡΠ΅ ΡΠΈΡΠ°ΡΠ΅Π»ΠΈ! ΠΡΠΎΡΠΈΠΌ Π³ΡΡΡ bash-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΡΡΠΊΠ°Π·Π°ΡΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Π΄ΠΎΠ±ΡΠ°Π»ΠΈΡΡ Π΄ΠΎ Π²Π΅ΡΡΠΈΠ½ ΠΌΠ°ΡΡΠ΅ΡΡΡΠ²Π°, ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ ΡΠ΅ΠΊΡΠ΅ΡΠ°ΠΌΠΈ, Π° ΠΎΡ ΡΠ΅Ρ , ΠΊΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ Π½Π°ΠΏΠΈΡΠ°Π» ΡΠ²ΠΎΠΉ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠΊΡΠΈΠΏΡ, ΠΆΠ΄ΡΠΌ Π²ΠΏΠ΅ΡΠ°ΡΠ»Π΅Π½ΠΈΠΉ.
Π’ΠΎΠ»ΡΠΊΠΎ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΌΠΎΠ³ΡΡ ΡΡΠ°ΡΡΠ²ΠΎΠ²Π°ΡΡ Π² ΠΎΠΏΡΠΎΡΠ΅.
ΠΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΡΡ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ°ΡΡΠΈ ΡΠΈΠΊΠ»Π° ΡΡΠ°ΡΠ΅ΠΉ?
-
ΠΠ°!
-
ΠΠ΅Ρ, Π½Π΅ Π½ΡΠΆΠ½ΠΎ
ΠΡΠΎΠ³ΠΎΠ»ΠΎΡΠΎΠ²Π°Π»ΠΈ 1030 ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ. ΠΠΎΠ·Π΄Π΅ΡΠΆΠ°Π»ΠΈΡΡ 106 ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com