echo "Good morning"
else
echo "Good afternoon"
fi
exit 0
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π²ΡΠ²ΠΎΠ΄ Π½Π° ΡΠΊΡΠ°Π½:
Is it morning? Please answer yes or no
yes
Good morning
$
Π ΡΡΠΎΠΌ ΡΡΠ΅Π½Π°ΡΠΈΠΈ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ timeofday ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° [. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΠΎΡΠ΅Π½ΠΈΠ²Π°Π΅ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ if, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΡΠ΅ΠΌ ΡΠ°Π·ΡΠ΅ΡΠ°Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ°Π·Π½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ±Π΅Π»Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π΄Π»Ρ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΡΡΡΡΠΏΠ° Π²Π½ΡΡΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° if. ΠΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° ΡΠΈΡΠ°ΡΠ΅Π»Ρ; ΠΊΠΎΠΌΠ°Π½Π΄Π½Π°Ρ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ° ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ±Π΅Π»Ρ.
elifΠ ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, Ρ ΡΡΠΈΠΌ ΠΏΡΠΎΡΡΡΠΌ ΡΡΠ΅Π½Π°ΡΠΈΠ΅ΠΌ ΡΠ²ΡΠ·Π°Π½ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌ. ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , ΠΎΠ½ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π² Π·Π½Π°ΡΠ΅Π½ΠΈΠΈ no (Π½Π΅Ρ) Π»ΡΠ±ΠΎΠΉ ΠΎΡΠ²Π΅Ρ Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ yes (Π΄Π°). ΠΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡ ΡΡΠΎΠΌΡ, Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π²ΡΠΈΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠ΅ΠΉ elif, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π²ΡΠΎΡΠΎΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅, ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌΠΎΠ΅ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΡΠ°ΡΡΠΈ else ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° if (ΡΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠ΅ 2.3).
Π£ΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠ΅ 2.3. ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΎΠΊ Ρ ΠΏΠΎΠΌΠΎΡΡΡ elifΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ ΡΡΠ΅Π½Π°ΡΠΈΠΉ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΎΠ½ Π²ΡΠ²ΠΎΠ΄ΠΈΠ» ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅, Π΅ΡΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²Π²ΠΎΠ΄ΠΈΡ ΡΡΠΎ-Π»ΠΈΠ±ΠΎ ΠΎΡΠ»ΠΈΡΠ½ΠΎΠ΅ ΠΎΡ yes ΠΈΠ»ΠΈ no. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡΠ΅ Π²Π΅ΡΠΊΡ else Π²Π΅ΡΠΊΠΎΠΉ elif ΠΈ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ Π΅ΡΠ΅ ΠΎΠ΄Π½ΠΎ ΡΡΠ»ΠΎΠ²ΠΈΠ΅:
#!/bin/sh
echo "Is it morning? Please answer yes or no "
read timeofday
if [ $timeofday = "yes" ]
then
echo "Good morning"
elif [ $timeofday = "no" ]; then
echo "Good afternoon"
else
echo "Sorry, $timeofday not recognized. Enter yes or no "
exit 1
fi
exit 0
ΠΠ°ΠΊ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ
ΠΡΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΡ ΠΎΠΆ Π½Π° ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ, Π½ΠΎ ΡΠ΅ΠΏΠ΅ΡΡ, Π΅ΡΠ»ΠΈ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π½Π΅ ΡΠ°Π²Π½ΠΎ true, ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ elif ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠ½ΠΎΠ²Π°. ΠΡΠ»ΠΈ ΠΎΠ±Π΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π½Π΅ ΡΠ΄Π°ΡΠ½Ρ, Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅, ΠΈ ΡΡΠ΅Π½Π°ΡΠΈΠΉ Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ 1, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π² Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ΅Π½Π°ΡΠΈΡ.
ΠΡΠΎΠ±Π»Π΅ΠΌΠ°, ΡΠ²ΡΠ·Π°Π½Π½Π°Ρ Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈΠΠ°Π½Π½ΡΠΉ ΡΡΠ΅Π½Π°ΡΠΈΠΉ ΠΈΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΡΠΉ Π΄Π΅ΡΠ΅ΠΊΡ, Π° Π±ΠΎΠ»Π΅Π΅ ΡΠΎΠ½ΠΊΠ°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΎΡΡΠ°Π΅ΡΡΡ Π½Π΅Π·Π°ΠΌΠ΅ΡΠ΅Π½Π½ΠΎΠΉ. ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ Π½ΠΎΠ²ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΡΡΠ΅Π½Π°ΡΠΈΡ, Π½ΠΎ Π²ΠΌΠ΅ΡΡΠΎ ΠΎΡΠ²Π΅ΡΠ° Π½Π° Π²ΠΎΠΏΡΠΎΡ ΠΏΡΠΎΡΡΠΎ Π½Π°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ»Π°Π²ΠΈΡΡ <Enter> (ΠΈΠ»ΠΈ Π½Π° Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ°Ρ ΠΊΠ»Π°Π²ΠΈΡΡ <Return>). ΠΡ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅:
[: =: unary operator expected
Π§ΡΠΎ ΠΆΠ΅ Π½Π΅ ΡΠ°ΠΊ? ΠΡΠΎΠ±Π»Π΅ΠΌΠ° Π² ΠΏΠ΅ΡΠ²ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° if. ΠΠΎΠ³Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΡΠ»Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ timeofday, ΠΎΠ½Π° ΡΠΎΡΡΠΎΡΠ»Π° ΠΈΠ· ΠΏΡΡΡΠΎΠΉ ΡΡΡΠΎΠΊΠΈ. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π²Π΅ΡΠ²Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° if Π²ΡΠ³Π»ΡΠ΄Π΅Π»Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
if [ = "yes" ]
ΠΈ Π½Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ»Π° ΡΠΎΠ±ΠΎΠΉ Π²Π΅ΡΠ½ΠΎΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅. ΠΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π·Π°ΠΊΠ»ΡΡΠΈΡΡ ΠΈΠΌΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² ΠΊΠ°Π²ΡΡΠΊΠΈ:
if [ "$timeofday" = "yes" ]
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Ρ ΠΏΡΡΡΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π±ΡΠ΄Π΅Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠΉ:
if [ "" = "yes" ]
ΠΠΎΠ²ΡΠΉ ΡΡΠ΅Π½Π°ΡΠΈΠΉ Π±ΡΠ΄Π΅Ρ ΡΠ°ΠΊΠΈΠΌ:
#!/bin/sh
echo "Is it morning? Please answer yes or no "
read timeofday
if [ "$timeofday" = "yes" ]
then
echo "Good morning"
elif [ "$timeofday" = "no" ]; then
echo "Good afternoon"
else
echo "Sorry, $timeofday not recognized. Enter yes or no "
exit 1
fi
exit 0
ΠΡΠΎΡ Π²Π°ΡΠΈΠ°Π½Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ΅Π½, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π² ΠΎΡΠ²Π΅Ρ Π½Π° Π²ΠΎΠΏΡΠΎΡ ΠΏΡΠΎΡΡΠΎ Π½Π°ΠΆΠΌΠ΅Ρ ΠΊΠ»Π°Π²ΠΈΡΡ <Enter>.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅, ΡΡΠΎΠ±Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° echo ΡΠ΄Π°Π»ΠΈΠ»Π° Π½ΠΎΠ²ΡΡ ΡΡΡΠΎΠΊΡ Π² ΠΊΠΎΠ½ΡΠ΅, Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π»Π΅Π³ΠΊΠΎ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ β ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ printf (ΡΠΌ. ΡΠ°Π·Π΄. "printf" Π΄Π°Π»Π΅Π΅ Π² ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅) Π²ΠΌΠ΅ΡΡΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρ echo. Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ°Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° echo -Π΅, Π½ΠΎ ΠΎΠ½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ Π½Π΅ Π²ΡΠ΅ΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ. Π ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ΅ bash Π΄Π»Ρ Π·Π°ΠΏΡΠ΅ΡΠ° ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° Π½Π° Π½ΠΎΠ²ΡΡ ΡΡΡΠΎΠΊΡ Π΄ΠΎΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° echo -n, ΠΏΠΎΡΡΠΎΠΌΡ, Π΅ΡΠ»ΠΈ Π²Ρ ΡΠ²Π΅ΡΠ΅Π½Ρ, ΡΡΠΎ Π²Π°ΡΠ΅ΠΌΡ ΡΡΠ΅Π½Π°ΡΠΈΡ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΡΡΡΠ΄ΠΈΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ΅ bash, ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΠΌ Π²Π°ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
echo -n "Is it morning? Please answer yes or no: "
ΠΠΎΠΌΠ½ΠΈΡΠ΅ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ ΠΎΡΡΠ°Π²Π»ΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΡΠΎΠ±Π΅Π» ΠΏΠ΅ΡΠ΅Π΄ Π·Π°ΠΊΡΡΠ²Π°ΡΡΠΈΠΌΠΈ ΠΊΠ°Π²ΡΡΠΊΠ°ΠΌΠΈ, ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΡΠΎΡΠΌΠΈΡΡΠ΅ΡΡΡ Π·Π°Π·ΠΎΡ ΠΏΠ΅ΡΠ΅Π΄ Π²Π²ΠΎΠ΄ΠΈΠΌΡΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ ΠΎΡΠ²Π΅ΡΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ΅ΡΡΠ΅.
forΠΡΠΈΠΌΠ΅Π½ΡΠΉΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ for Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π² ΡΠΈΠΊΠ»Π΅ ΡΡΠ΄Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ Π»ΡΠ±ΠΎΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΡΡΠΎΠΊ. Π‘ΡΡΠΎΠΊΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΡΠΎΡΡΠΎ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Ρ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΈΠ»ΠΈ, ΡΡΠΎ Π±ΡΠ²Π°Π΅Ρ ΡΠ°ΡΠ΅, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΎΠΉ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΈΠΌΠ΅Π½ ΡΠ°ΠΉΠ»ΠΎΠ².
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΡΡΠΎΠ³ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° ΠΏΡΠΎΡΡ:
for ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ in Π·Π½Π°ΡΠ΅Π½ΠΈΡ
do
ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ
done
ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΡ 2.4 ΠΈ 2.5.
Π£ΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠ΅ 2.4. ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠΈΠΊΠ»Π° for ΠΊ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΡΡΡΠΎΠΊΠ°ΠΌΠ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ Π² Π²ΠΈΠ΄Π΅ ΡΡΡΠΎΠΊ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠ΅Π½Π°ΡΠΈΠΉ:
#!/bin/sh
for foo in bar fud 43
do
echo $foo
done
exit 0
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π²ΡΠ²ΠΎΠ΄:
bar
fud
43
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅Π§ΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ ΠΏΠ΅ΡΠ²ΡΡ ΡΡΡΠΎΠΊΡ Ρ for foo in bar fud 43 Π½Π° for foo in "bar fud 43"? ΠΠ°ΠΏΠΎΠΌΠΈΠ½Π°Π΅ΠΌ, ΡΡΠΎ Π²ΡΡΠ°Π²ΠΊΠ° ΠΊΠ°Π²ΡΡΠ΅ΠΊ Π·Π°ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΡ ΡΡΠΈΡΠ°ΡΡ Π²ΡΠ΅, ΡΡΠΎ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ, Π΅Π΄ΠΈΠ½ΠΎΠΉ ΡΡΡΠΎΠΊΠΎΠΉ. ΠΡΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π΅Π»ΠΎΠ² Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ.
ΠΠ°ΠΊ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ
Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ foo ΠΈ Π΅ΠΉ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΏΡΠΎΡ ΠΎΠ΄Π΅ ΡΠΈΠΊΠ»Π° for ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°ΡΡΡΡ ΡΠ°Π·Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ° ΡΡΠΈΡΠ°Π΅Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π²ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΡΡΠΎΠΊΠΎΠ²ΡΠΌΠΈ, ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΡΡΡΠΎΠΊΡ 43 ΡΠ°ΠΊ ΠΆΠ΅ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎ, ΠΊΠ°ΠΊ ΠΈ ΡΡΡΠΎΠΊΡ fud.
Π£ΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠ΅ 2.5. ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠΈΠΊΠ»Π° for Ρ ΠΌΠ΅ΡΠ°ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈΠΠ°ΠΊ ΡΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡ ΡΠ°Π½Π΅Π΅, ΡΠΈΠΊΠ» for ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ΅ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΌΠ΅ΡΠ°ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ ΠΈΠ»ΠΈ Π·Π½Π°ΠΊΠ°ΠΌΠΈ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π΄Π»Ρ ΠΈΠΌΠ΅Π½ ΡΠ°ΠΉΠ»ΠΎΠ². ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΡΠ°ΡΠΈΠΌΠ²ΠΎΠ»Π° Π΄Π»Ρ ΡΡΡΠΎΠΊΠΎΠ²ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΠΎΠ΄ΡΡΠ°Π²Π»ΡΡΡ Π²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π½Π° ΡΡΠ°ΠΏΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
ΠΡ ΡΠΆΠ΅ Π²ΠΈΠ΄Π΅Π»ΠΈ ΡΡΠΎΡ ΠΏΡΠΈΠ΅ΠΌ Π² ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ first. Π ΡΡΠ΅Π½Π°ΡΠΈΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ»ΠΈΡΡ ΡΡΠ΅Π΄ΡΡΠ²Π° ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ β ΡΠΈΠΌΠ²ΠΎΠ» * Π΄Π»Ρ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΈΠΌΠ΅Π½ Π²ΡΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ· ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°. ΠΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ· ΡΡΠΈΡ ΠΈΠΌΠ΅Π½ ΠΏΠΎ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ $file Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π° for.
ΠΠ°Π²Π°ΠΉΡΠ΅ Π±Π΅Π³Π»ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠΈΠΌ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠ°ΡΠΈΠΌΠ²ΠΎΠ»Π°. ΠΠΎΠΏΡΡΡΠΈΠΌ, ΡΡΠΎ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π²ΡΠ²Π΅ΡΡΠΈ Π½Π° ΡΠΊΡΠ°Π½ Π²ΡΠ΅ ΠΈΠΌΠ΅Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ² ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅, Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΠ΅ΡΡ Ρ Π±ΡΠΊΠ²Ρ "f", ΠΈ Π²Ρ Π·Π½Π°Π΅ΡΠ΅, ΡΡΠΎ ΠΈΠΌΠ΅Π½Π° Π²ΡΠ΅Ρ Π²Π°ΡΠΈΡ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°ΡΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ .sh. ΠΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
#!/bin/sh
for file in $(ls f*.sh); do
lpr $file
done
exit 0
ΠΠ°ΠΊ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ $(ΠΊΠΎΠΌΠ°Π½Π΄Π°), ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎΠ±ΡΡΠΆΠ΄Π°ΡΡΡΡ Π΄Π°Π»Π΅Π΅ (Π² ΡΠ°Π·Π΄Π΅Π»Π΅, ΠΏΠΎΡΠ²ΡΡΠ΅Π½Π½ΠΎΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄). ΠΠ±ΡΡΠ½ΠΎ ΡΠΏΠΈΡΠΎΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π΄Π»Ρ ΡΠΈΠΊΠ»Π° for Π·Π°Π΄Π°Π΅ΡΡΡ Π²ΡΠ²ΠΎΠ΄ΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, Π²ΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠΉ Π² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ $().
ΠΠΎΠΌΠ°Π½Π΄Π½Π°Ρ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ° ΡΠ°ΡΠΊΡΡΠ²Π°Π΅Ρ f*.sh, ΠΏΠΎΠ΄ΡΡΠ°Π²Π»ΡΡ ΠΈΠΌΠ΅Π½Π° Π²ΡΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ², ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ Π΄Π°Π½Π½ΠΎΠΌΡ ΡΠ°Π±Π»ΠΎΠ½Ρ.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ΠΠΎΠΌΠ½ΠΈΡΠ΅ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π²ΡΠ΅ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π² ΡΡΠ΅Π½Π°ΡΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ Π΄Π΅Π»Π°ΡΡΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ΅Π½Π°ΡΠΈΡ, Π° Π½Π΅ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΈΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ, ΠΏΠΎΡΡΠΎΠΌΡ Π²ΡΠ΅ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ Π² ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΡΡΠ°ΠΏΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, ΠΊΠ°ΠΊ Π±ΡΠ»ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ ΡΠ°Π½Π΅Π΅, ΠΊΠΎΠ³Π΄Π° ΠΌΡ Π·Π°ΠΊΠ»ΡΡΠ°Π»ΠΈ Π² ΠΊΠ°Π²ΡΡΠΊΠΈ ΠΏΡΡΡΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅.
whileΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½Π°Ρ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ° ΡΡΠΈΡΠ°Π΅Ρ Π²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ, ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ for Ρ ΠΎΡΠΎΡ Π΄Π»Ρ ΡΠΈΠΊΠ»ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π°Π±ΠΎΡΠΎΠ² ΡΡΡΠΎΠΊ, Π½ΠΎ Π½Π΅ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΡΠ΄ΠΎΠ±Π΅Π½, Π΅ΡΠ»ΠΈ Π²Ρ Π½Π΅ Π·Π½Π°Π΅ΡΠ΅ Π·Π°ΡΠ°Π½Π΅Π΅, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π΅Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ.
ΠΡΠ»ΠΈ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ²ΡΠΎΡΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄, Π½ΠΎ Π·Π°ΡΠ°Π½Π΅Π΅ Π½Π΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ, Π²Ρ, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π±ΡΠ΄Π΅ΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΡΠΈΠΊΠ» while ΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π·Π°ΠΏΠΈΡΡΡ:
while ΡΡΠ»ΠΎΠ²ΠΈΠ΅
do
ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ
done
ΠΠ°Π»Π΅Π΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠ»Π°Π±ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΏΠ°ΡΠΎΠ»Π΅ΠΉ.
#!/bin/sh
echo "Enter password"
read trythis
while [ "$trythis" != "secret" ]; do
echo "Sorry, try again"