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