ΠΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ°Π½Π½ΠΈΡ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ°Ρ UNIX Π²ΡΠ·ΡΠ²Π°ΡΡ Π²Π½Π΅ΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π½ΠΎ Π² Π±ΠΎΠ»Π΅Π΅ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π²Π΅ΡΡΠΈΡΡ ΠΈΡ ΡΡΠ°ΡΠ°ΡΡΡΡ Π΄Π΅Π»Π°ΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΌΠΈ. ΠΡ Π²Π΅ΡΠ½Π΅ΠΌΡΡ ΠΊ ΡΡΠΎΠΌΡ, ΠΊΠΎΠ³Π΄Π° Π±ΡΠ΄Π΅ΠΌ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅.
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° test Π½Π΅ ΡΠ°ΡΡΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΠ‘ Linux, Π½ΠΈΠΊΠΎΠ³Π΄Π° ΡΠ°Π½ΡΡΠ΅ Π½Π΅ ΠΏΠΈΡΠ°Π²ΡΠΈΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π², ΠΏΡΡΠ°ΡΡΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΏΡΠΎΡΡΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ Π½Π°Π·ΡΠ²Π°ΡΡ ΠΈΡ test. ΠΡΠ»ΠΈ ΡΠ°ΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, ΠΎΠ½Π° ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡΠ΅Ρ Ρ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ test. ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ Π²ΡΡΡΠ½ΠΈΡΡ, Π΅ΡΡΡ Π»ΠΈ Π² Π²Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ Π²Π½Π΅ΡΠ½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° Ρ Π΄Π°Π½Π½ΡΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ, ΠΏΠΎΠΏΡΡΠ°ΠΉΡΠ΅ΡΡ Π½Π°Π±ΡΠ°ΡΡ ΡΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ Π²ΡΠΎΠ΄Π΅ which test ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΠΊΠ°ΠΊΠ°Ρ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° test Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π² Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ, ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠΎΡΠΌΡ ./test, ΡΡΠΎΠ±Ρ Π±ΡΡΡ ΡΠ²Π΅ΡΠ΅Π½Π½ΡΠΌ Π² ΡΠΎΠΌ, ΡΡΠΎ Π²Ρ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΠΉ ΠΈΠ· ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°. ΠΡΠ»ΠΈ ΡΠΎΠΌΠ½Π΅Π²Π°Π΅ΡΠ΅ΡΡ, ΠΏΡΠΈΠΌΠΈΡΠ΅ Π·Π° ΠΏΡΠ°Π²ΠΈΠ»ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ²ΠΎΠΈ ΡΡΠ΅Π½Π°ΡΠΈΠΈ, ΠΏΡΠ΅Π΄Π²Π°ΡΡΡ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΈΡ ΠΈΠΌΠ΅Π½Π° ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠ΅ΠΉ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ./.
ΠΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ test Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΠ΅ΠΉΡΠ΅Π³ΠΎ ΡΡΠ»ΠΎΠ²ΠΈΡ: ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π½Π°Π»ΠΈΡΠΈΡ ΡΠ°ΠΉΠ»Π°. ΠΠ»Ρ Π½Π΅Π΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°: test -f <ΠΈΠΌΡ_ΡΠ°ΠΉΠ»Π°>, ΠΏΠΎΡΡΠΎΠΌΡ Π² ΡΡΠ΅Π½Π°ΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ
if test -f fred.c
then
...
fi
To ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
if [ -f fred.c ]
then
...
fi
ΠΠΎΠ΄ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ test (Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ Π»ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠ΅) ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, Π±ΡΠ΄Π΅Ρ Π»ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΡΡΠ»ΠΎΠ²Π½ΡΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΊΠΎΠ΄.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ΠΠΌΠ΅ΠΉΡΠ΅ Π² Π²ΠΈΠ΄Ρ, ΡΡΠΎ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΡΡΠ°Π²Π»ΡΡΡ ΠΏΡΠΎΠ±Π΅Π»Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΠΎΠΉ ΡΠΊΠΎΠ±ΠΊΠΎΠΉ [ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌΡΠΌ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ΠΌ. ΠΡΠΎ Π»Π΅Π³ΠΊΠΎ ΡΡΠ²ΠΎΠΈΡΡ, Π΅ΡΠ»ΠΈ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΡΠΎ Π²ΡΡΠ°Π²ΠΈΡΡ ΡΠΈΠΌΠ²ΠΎΠ» [ β ΡΡΠΎ Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ, ΡΡΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ test, Π° ΠΏΠΎΡΠ»Π΅ ΠΈΠΌΠ΅Π½ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²Ρ Π²ΡΠ΅Π³Π΄Π° Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΡΡΠ°Π²Π»ΡΡΡ ΠΏΡΠΎΠ±Π΅Π».
ΠΡΠ»ΠΈ Π²Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Π΅ΡΠ΅ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡ ΡΠ»ΠΎΠ²ΠΎ then Π² ΡΠΎΠΉ ΠΆΠ΅ ΡΡΡΠΎΠΊΠ΅, ΡΡΠΎ ΠΈ if, Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠΎΡΠΊΡ Ρ Π·Π°ΠΏΡΡΠΎΠΉ Π΄Π»Ρ ΠΎΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ test ΠΎΡ then:
if [ -f fred.c ]; then
...
fi
ΠΠ°ΡΠΈΠ°Π½ΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ test, Π΄Π΅Π»ΡΡΡΡ Π½Π° ΡΡΠΈ ΡΠΈΠΏΠ°: ΡΡΡΠΎΠΊΠΎΠ²ΡΠ΅ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ, ΡΠΈΡΠ»ΠΎΠ²ΡΠ΅ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΡΠ»Π°Π³ΠΎΠ² (file conditionals). ΠΡΠΈ ΡΠΈΠΏΡ ΡΡΠ»ΠΎΠ²ΠΈΠΉ ΠΎΠΏΠΈΡΠ°Π½Ρ Π² ΡΠ°Π±Π». 2.4.
Π’Π°Π±Π»ΠΈΡΠ° 2.4
ΠΠ°ΡΠΈΠ°Π½ΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠΉ Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΡ ΡΡΡΠΎΠΊ Π‘ΡΡΠΎΠΊΠ°1 = Π‘ΡΡΠΎΠΊΠ°2 True (ΠΈΡΡΠΈΠ½Π°), Π΅ΡΠ»ΠΈ ΡΡΡΠΎΠΊΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ Π‘ΡΡΠΎΠΊΠ°1 != Π‘ΡΡΠΎΠΊΠ°2 True (ΠΈΡΡΠΈΠ½Π°), Π΅ΡΠ»ΠΈ ΡΡΡΠΎΠΊΠΈ ΡΠ°Π·Π½ΡΠ΅ -n Π‘ΡΡΠΎΠΊΠ° True (ΠΈΡΡΠΈΠ½Π°), Π΅ΡΠ»ΠΈ Π‘ΡΡΠΎΠΊΠ° Π½Π΅ null -z Π‘ΡΡΠΎΠΊΠ° True (ΠΈΡΡΠΈΠ½Π°), Π΅ΡΠ»ΠΈ Π‘ΡΡΠΎΠΊΠ° null (ΠΏΡΡΡΠ°Ρ ΡΡΡΠΎΠΊΠ°) Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΡ ΡΠΈΡΠ΅Π» ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅1 -eq ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅2 True (ΠΈΡΡΠΈΠ½Π°), Π΅ΡΠ»ΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠ°Π²Π½Ρ ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅1 -ne ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅2 True (ΠΈΡΡΠΈΠ½Π°), Π΅ΡΠ»ΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Π½Π΅ ΡΠ°Π²Π½Ρ ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅1 -gt ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅2 True (ΠΈΡΡΠΈΠ½Π°), Π΅ΡΠ»ΠΈ ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅1 Π±ΠΎΠ»ΡΡΠ΅, ΡΠ΅ΠΌ ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅2 ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅1 -ge ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅2 True (ΠΈΡΡΠΈΠ½Π°), Π΅ΡΠ»ΠΈ ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅1 Π½Π΅ ΠΌΠ΅Π½ΡΡΠ΅ ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅2 ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅1 -lt ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅2 True (ΠΈΡΡΠΈΠ½Π°), Π΅ΡΠ»ΠΈ ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅1 ΠΌΠ΅Π½ΡΡΠ΅, ΡΠ΅ΠΌ ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅2 ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅1 -lΠ΅ ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅2 True (ΠΈΡΡΠΈΠ½Π°), Π΅ΡΠ»ΠΈ ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅1 Π½Π΅ Π±ΠΎΠ»ΡΡΠ΅ ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅2 ! ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ True (ΠΈΡΡΠΈΠ½Π°), Π΅ΡΠ»ΠΈ ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π»ΠΎΠΆΠ½ΠΎ, ΠΈ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ Π€Π°ΠΉΠ»ΠΎΠ²ΡΠΉ ΡΠ»Π°Π³ -d ΡΠ°ΠΉΠ» True (ΠΈΡΡΠΈΠ½Π°), Π΅ΡΠ»ΠΈ ΡΠ°ΠΉΠ» β ΠΊΠ°ΡΠ°Π»ΠΎΠ³ -Π΅ ΡΠ°ΠΉΠ» True (ΠΈΡΡΠΈΠ½Π°), Π΅ΡΠ»ΠΈ ΡΠ°ΠΉΠ» ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ. ΠΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈ, ΠΎΠΏΡΠΈΡ -e Π½Π΅ Π±ΡΠ»Π° ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΠ° Π½Π° Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ -f -f ΡΠ°ΠΉΠ» True (ΠΈΡΡΠΈΠ½Π°), Π΅ΡΠ»ΠΈ ΡΠ°ΠΉΠ» β ΠΎΠ±ΡΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» -g ΡΠ°ΠΉΠ» True (ΠΈΡΡΠΈΠ½Π°), Π΅ΡΠ»ΠΈ Π΄Π»Ρ ΡΠ°ΠΉΠ»Π° ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π±ΠΈΡ set-group-id -r ΡΠ°ΠΉΠ» True (ΠΈΡΡΠΈΠ½Π°), Π΅ΡΠ»ΠΈ ΡΠ°ΠΉΠ» Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ -s ΡΠ°ΠΉΠ» True (ΠΈΡΡΠΈΠ½Π°), Π΅ΡΠ»ΠΈ ΡΠ°ΠΉΠ» Π½Π΅Π½ΡΠ»Π΅Π²ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ° -u ΡΠ°ΠΉΠ» True (ΠΈΡΡΠΈΠ½Π°), Π΅ΡΠ»ΠΈ Π΄Π»Ρ ΡΠ°ΠΉΠ»Π° ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π±ΠΈΡ set-user-id -v ΡΠ°ΠΉΠ» True (ΠΈΡΡΠΈΠ½Π°), Π΅ΡΠ»ΠΈ ΡΠ°ΠΉΠ» Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ -Ρ ΡΠ°ΠΉΠ» True (ΠΈΡΡΠΈΠ½Π°), Π΅ΡΠ»ΠΈ ΡΠ°ΠΉΠ» β ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ΠΠ°Ρ ΠΌΠΎΠ³Π»ΠΈ Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°ΡΡ Π½Π΅ΠΏΠΎΠ½ΡΡΠ½ΡΠ΅ Π±ΠΈΡΡ set-group-id ΠΈ set-user-id (ΡΠ°ΠΊΠΆΠ΅ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠ΅ set-gid ΠΈ set-uid). ΠΠΈΡ set-uid ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΏΡΠ°Π²Π° Π²Π»Π°Π΄Π΅Π»ΡΡΠ°, Π° Π½Π΅ ΠΏΡΠΎΡΡΠΎ Π΅Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π±ΠΈΡ set-gid ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΏΡΠ°Π²Π° Π³ΡΡΠΏΠΏΡ. ΠΡΠΈ Π±ΠΈΡΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ chmod Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΡΠΈΠΉ s ΠΈ g. ΠΠ° ΡΠ°ΠΉΠ»Ρ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΠΈ, ΡΠ»Π°Π³ΠΈ set-gid ΠΈ set-uid Π½Π΅ Π²Π»ΠΈΡΡΡ, ΠΎΠ½ΠΈ ΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ Π²Π»ΠΈΡΠ½ΠΈΠ΅ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ Π΄Π²ΠΎΠΈΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ.
ΠΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΌΠΈ ΡΠ΅Π±Ρ ΠΎΠ±ΠΎΠ³Π½Π°Π»ΠΈ, Π½ΠΎ Π΄Π°Π»Π΅Π΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΡΠ°ΠΉΠ»Π° /bin/bash, ΡΠ°ΠΊ ΡΡΠΎ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ²ΠΈΠ΄Π΅ΡΡ, ΠΊΠ°ΠΊ ΡΡΠΎ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅.
#!/bin/sh
if [ -f /bin/bash ]
then
echo "file /bin/bash exists"
fi
if [ -d /bin/bash ]
then
echo "/bin/bash is a directory"
else
echo "/bin/bash is NOT a directory"
fi
ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΡΠ΅ΡΡ ΠΌΠΎΠ³ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ ΠΈΡΡΠΈΠ½Π½ΡΠΌ, ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ, Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π²ΡΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΡΠ»Π°Π³ΠΎΠ² ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π½Π°Π»ΠΈΡΠΈΠ΅ ΡΠ°ΠΉΠ»Π°. ΠΠ°Π½Π½ΡΠΉ ΠΏΠ΅ΡΠ΅ΡΠ΅Π½Ρ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΌΡΠ΅ ΡΠΈΡΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΎΠΏΡΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ test, ΠΏΠΎΠ»Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π² ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅. ΠΡΠ»ΠΈ Π²Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΠ΅ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΡ bash, Π² ΠΊΠΎΡΠΎΡΡΡ Π²ΡΡΡΠΎΠ΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° test, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ help test Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ²Π΅Π΄Π΅Π½ΠΈΠΉ. ΠΠΎΠ·ΠΆΠ΅ Π² ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅ ΠΌΡ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· ΡΡΠΈΡ ΠΎΠΏΡΠΈΠΉ.
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠ»ΠΈΡΡ Ρ ΡΡΠ»ΠΎΠ²ΠΈΡΠΌΠΈ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΠ΅ ΡΡΡΡΠΊΡΡΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠ΅ ΡΡΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡ.
Π£ΠΏΡΠ°Π²Π»ΡΡΡΠΈΠ΅ ΡΡΡΡΠΊΡΡΡΡ
Π ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ΅ Π΅ΡΡΡ ΡΡΠ΄ ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΡ ΡΡΡΡΠΊΡΡΡ ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΉ, ΠΏΠΎΡ ΠΎΠΆΠΈΡ Π½Π° Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠ΅ ΡΡΡΡΠΊΡΡΡΡ Π² Π΄ΡΡΠ³ΠΈΡ ΡΠ·ΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅Π ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΠ°Π·Π΄Π΅Π»Π°Ρ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ β ΡΡΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΈΠ»ΠΈ ΠΏΠΎΠΊΠ° ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΠ΅ΡΡΡ ΠΈΠ»ΠΈ ΠΏΠΎΠΊΠ° ΠΎΠ½ΠΎ Π½Π΅ ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΠ΅ΡΡΡ.
ifΠ£ΠΏΡΠ°Π²Π»ΡΡΡΠΈΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ if ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡ: ΠΎΠ½ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈ Π·Π°ΡΠ΅ΠΌ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΡΠ»ΠΎΠ²ΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΡ ΠΈΠ»ΠΈ ΠΈΠ½ΡΡ Π³ΡΡΠΏΠΏΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ².
if ΡΡΠ»ΠΎΠ²ΠΈΠ΅
then
ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ
else
ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ
fi
ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ if ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ, ΠΊΠΎΠ³Π΄Π° Π·Π°Π΄Π°Π΅ΡΡΡ Π²ΠΎΠΏΡΠΎΡ, ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅ΡΡΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΎΡΠ²Π΅ΡΠ°:
#!/bin/sh
echo "Is it morning? Please answer yes or no "
read timeofday
if [ $timeofday = "yes" ]; then
echo "Good morning"
else
echo "Good afternoon"
fi
exit 0
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π²ΡΠ²ΠΎΠ΄ Π½Π° ΡΠΊΡΠ°Π½:
Is it morning? Please answer yes or no
yes
Good morning
$
Π ΡΡΠΎΠΌ ΡΡΠ΅Π½Π°ΡΠΈΠΈ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ timeofday ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° [. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΠΎΡΠ΅Π½ΠΈΠ²Π°Π΅ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ if, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΡΠ΅ΠΌ ΡΠ°Π·ΡΠ΅ΡΠ°Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ°Π·Π½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.