funct_1 () {
local foo # ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ foo, Π»ΠΎΠΊΠ°Π»ΡΠ½Π°Ρ Π΄Π»Ρ funct_1
foo=1
echo "funct_1: foo = $foo"
}
funct_2 () {
local foo # ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ foo, Π»ΠΎΠΊΠ°Π»ΡΠ½Π°Ρ Π΄Π»Ρ funct_2
foo=2
echo "funct_2: foo = $foo"
}
echo "global: foo = $foo"
funct_1
echo "global: foo = $foo"
funct_2
echo "global: foo = $foo"
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡΠ΅, Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΠ±ΡΡΠ²Π»ΡΡΡΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΡΠ»ΠΎΠ²Π° local ΠΏΠ΅ΡΠ΅Π΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ, Π»ΠΎΠΊΠ°Π»ΡΠ½Π°Ρ ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΊ ΡΡΠ½ΠΊΡΠΈΠΈ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΠ½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π°. ΠΠΎΠ³Π΄Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π²ΡΠΉΠ΄Π΅Ρ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½Π΅Ρ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°ΡΡ. ΠΡΠ»ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΡΠΎΡ ΡΡΠ΅Π½Π°ΡΠΈΠΉ, ΠΎΠ½ Π²ΡΠ²Π΅Π΄Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
[ [email protected] ~]$ local-vars
global: foo = 0
funct_1: foo = 1
global: foo = 0
funct_2: foo = 2
global: foo = 0
ΠΡΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ foo Π²Π½ΡΡΡΠΈ ΠΎΠ±Π΅ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π½Π΅ ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π²Π»ΠΈΡΠ½ΠΈΡ Π½Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ foo, ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΠΎΠΉ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ.
ΠΡΠ° ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΈΡΠ°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠΎΡ ΡΠ°Π½ΡΡ ΠΈΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ Π΄ΡΡΠ³ ΠΎΡ Π΄ΡΡΠ³Π° ΠΈ ΠΎΡ ΡΡΠ΅Π½Π°ΡΠΈΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΠ½ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ. ΠΡΠΎ ΠΎΡΠ΅Π½Ρ ΡΠ΅Π½Π½ΠΎΠ΅ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ, ΠΎΠ½ΠΎ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ°Π΅Ρ Π²Π·Π°ΠΈΠΌΠΎΠ²Π»ΠΈΡΠ½ΠΈΠ΅ ΡΠ°Π·Π½ΡΡ ΡΠ°ΡΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄ΡΡΠ³ Π½Π° Π΄ΡΡΠ³Π°, Π° ΠΊΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΏΠΈΡΠ°ΡΡ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠΎ Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΡΠ΅Π½Π°ΡΠΈΡ Π² Π΄ΡΡΠ³ΠΎΠΉ.
ΠΠΎΡΡΠΎΡΠ½Π½ΠΎΠ΅ ΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΡ
Π ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΠΈΡ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ. ΠΠ°ΠΏΡΡΠΊΠ°Ρ ΠΈ ΡΠ΅ΡΡΠΈΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΡΠ΅, ΠΌΡ ΡΠΌΠΎΠΆΠ΅ΠΌ Π²ΡΡΠ²ΠΈΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ Π½Π° ΡΠ°ΠΌΡΡ ΡΠ°Π½Π½ΠΈΡ ΡΡΠ°ΠΏΠ°Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΡΠΎ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ Π·Π°Π΄Π°ΡΡ ΠΎΡΠ»Π°Π΄ΠΊΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΠΏΠΎΡΠ»Π΅ Π²Π½Π΅ΡΠ΅Π½ΠΈΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈ ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡΡ ΠΎΡΠΈΠ±ΠΊΠ°, ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΏΠΎΡΡΠΈ Π½Π°Π²Π΅ΡΠ½ΡΠΊΠ° Π±ΡΠ΄Π΅Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΡ . ΠΠΎΠ±Π°Π²ΠΈΠ² ΠΏΡΡΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π° ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ² Π½Π°Π·ΡΠ²Π°ΡΡΡΡ Π·Π°Π³Π»ΡΡΠΊΠ°ΠΌΠΈ, ΠΌΡ ΡΠΌΠΎΠ³Π»ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΡΠ°Π½Π½Π΅ΠΉ ΡΡΠ°Π΄ΠΈΠΈ. Π‘ΠΎΠ·Π΄Π°Π²Π°Ρ Π·Π°Π³Π»ΡΡΠΊΡ, Π½Π΅ΠΏΠ»ΠΎΡ ΠΎ Π±ΡΠ»ΠΎ Π±Ρ Π²ΠΊΠ»ΡΡΠΈΡΡ Π² Π½Π΅Π΅ ΡΡΠΎ-ΡΠΎ, ΡΡΠΎ Π΄Π°Π²Π°Π»ΠΎ Π±Ρ ΠΎΠ±ΡΠ°ΡΠ½ΡΡ ΡΠ²ΡΠ·Ρ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ ΠΎΡΠ΅Π½ΠΈΡΡ Ρ ΠΎΠ΄ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. ΠΡΠ»ΠΈ ΡΠ΅ΠΉΡΠ°Ρ Π²Π·Π³Π»ΡΠ½ΡΡΡ Π½Π° Π²ΡΠ²ΠΎΠ΄ Π½Π°ΡΠ΅Π³ΠΎ ΡΡΠ΅Π½Π°ΡΠΈΡ, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅ΡΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΡΡΡΡ ΡΡΡΠΎΠΊ, ΡΠ»Π΅Π΄ΡΡΡΠΈΡ Π·Π° ΡΡΡΠΎΠΊΠΎΠΉ Ρ ΡΠ΅ΠΊΡΡΠΈΠΌ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ, Π½ΠΎ ΠΌΡ ΠΏΠΎΠΊΠ° Π½Π΅ ΡΠ²Π΅ΡΠ΅Π½Ρ Π² ΠΏΡΠΈΡΠΈΠ½Π°Ρ ΠΈΡ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ.
[ [email protected] ~]$ sys_info_page
<HTML>
<HEAD>
<TITLE>System Information Report For twin2</TITLE>
</HEAD>
<BODY>
<H1>System Information Report For linuxbox</H1>
<P>Generated 03/19/2012 04:02:10 PM EDT, by me</P>
</BODY>
</HTML>
ΠΠ·ΠΌΠ΅Π½ΠΈΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ, Π΄ΠΎΠ±Π°Π²ΠΈΠ² Π² Π½ΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΠ²ΡΠ·ΠΈ:
report_uptime () {
echo "Function report_uptime executed."
return
}
report_disk_space () {
echo "Function report_disk_space executed."
return
}
report_home_space () {
echo "Function report_home_space executed."
return
}
Π Π·Π°ΠΏΡΡΡΠΈΠΌ ΡΡΠ΅Π½Π°ΡΠΈΠΉ Π΅ΡΠ΅ ΡΠ°Π·:
[ [email protected] ~]$ sys_info_page
<HTML>
<HEAD>
<TITLE>System Information Report For linuxbox</TITLE>
</HEAD>
<BODY>
<H1>System Information Report For linuxbox</H1>
<P>Generated 03/20/2012 05:17:26 AM EDT, by me</P>
Function report_uptime executed.
Function report_disk_space executed.
Function report_home_space executed.
</BODY>
</HTML>
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Ρ ΡΠ²Π΅ΡΠ΅Π½Π½ΠΎΡΡΡΡ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ Π½Π°ΡΠΈ ΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΊΠ°ΠΊ Π½Π°Π΄ΠΎ.
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΊΠ°ΡΠΊΠ°Ρ ΡΡΠ½ΠΊΡΠΈΠΉ Π³ΠΎΡΠΎΠ² ΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, ΡΠ°ΠΌΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² Π½ΠΈΡ Π½Π΅ΠΊΠΈΠΉ ΠΊΠΎΠ΄. Π‘Π½Π°ΡΠ°Π»Π° Π·Π°ΠΉΠΌΠ΅ΠΌΡΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ report_uptime:
report_uptime () {
cat <<- _EOF_
<H2>System Uptime</H2>
<PRE>$(uptime)</PRE>
EOF_
return
}
ΠΠ½Π° Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ. ΠΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΡΠ°Π·Π΄Π΅Π»Π° ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ uptime, Π·Π°ΠΊΠ»ΡΡΠΈΠ² ΠΈΡ Π² ΡΠ΅Π³ΠΈ <PRE>, ΡΡΠΎΠ±Ρ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΡΠΎΡΠΌΠ°Ρ Π²ΡΠ²ΠΎΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ. Π€ΡΠ½ΠΊΡΠΈΡ report_disk_space Π²ΡΠ³Π»ΡΠ΄ΠΈΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ:
report_disk_space () {
cat <<- _EOF_
<H2>Disk Space Utilization</H2>
<PRE>$(df -h)</PRE>
_EOF_
return
}
ΠΠ½Π° ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π΄ΠΈΡΠΊΠΎΠ²ΠΎΠΌ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ df -h. ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠΌ ΡΡΠ½ΠΊΡΠΈΡ report_home_space:
report_home_space () {
cat <<- _EOF_
<H2>Home Space Utilization</H2>
<PRE>$(du -sh /home/*)</PRE>
_EOF_
return
}
ΠΠ»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ du Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ -sh. ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΠΎ Π½Π΅ ΠΏΠΎΠ»Π½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ. ΠΠ°ΠΆΠ΅ ΠΏΡΠΈ ΡΠΎΠΌ, ΡΡΠΎ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² Ubuntu), ΠΊΠΎΠ΅-Π³Π΄Π΅ ΠΎΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π΅ Π±ΡΠ΄Π΅Ρ. ΠΡΠΈΡΠΈΠ½Π° Π² ΡΠΎΠΌ, ΡΡΠΎ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ Π΄Π»Ρ Π΄ΠΎΠΌΠ°ΡΠ½ΠΈΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ² Π²ΡΠ±ΠΈΡΠ°ΡΡΡΡ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ, Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠ΅ ΡΠΈΡΠ°ΡΡ ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π΄ΡΡΠ³ΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ, ΡΡΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΠΏΠΎΠ»Π½Π΅ ΡΠ°Π·ΡΠΌΠ½ΠΎΠΉ ΠΌΠ΅ΡΠΎΠΉ ΠΏΡΠ΅Π΄ΠΎΡΡΠΎΡΠΎΠΆΠ½ΠΎΡΡΠΈ. Π ΡΡΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ report_home_space Π² ΡΠΎΠΌ Π²ΠΈΠ΄Π΅, Π² ΠΊΠ°ΠΊΠΎΠΌ ΠΎΠ½Π° Π½Π°ΠΏΠΈΡΠ°Π½Π° Π·Π΄Π΅ΡΡ, Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ, ΡΠΎΠ»ΡΠΊΠΎ Π΅ΡΠ»ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠΉ Ρ ΠΏΡΠ°Π²Π°ΠΌΠΈ ΡΡΠΏΠ΅ΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΡΡΡΠ΅Π΅, ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π² ΡΠ°ΠΊΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ, β ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΌΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π·Π°ΠΏΡΡΡΠΈΠ²ΡΠ΅Π³ΠΎ Π΅Π³ΠΎ. ΠΡ Π·Π°ΠΉΠΌΠ΅ΠΌΡΡ ΡΡΠΈΠΌ Π² Π³Π»Π°Π²Π΅ 27.
ΡΡΠ½ΠΊΡΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ Π² ΡΠ°ΠΉΠ»Π΅ .BASHRCΠ€ΡΠ½ΠΊΡΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ ΠΌΠΎΠ³ΡΡ ΡΠ»ΡΠΆΠΈΡΡ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΠΎΠΉ Π·Π°ΠΌΠ΅Π½ΠΎΠΉ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΠ°ΠΌ ΠΈ Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΡΠΈΡΠ°ΡΡΡΡ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ Π΄Π»Ρ Π»ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΠΎΠ² Π²Π΅ΡΡΠΌΠ° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½Ρ Π² ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π²ΠΈΠ΄ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ, ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π²ΡΠ΅, ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡΠ°Π·ΠΈΡΡ Π² Π²ΠΈΠ΄Π΅ ΡΡΠ΅Π½Π°ΡΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Π°ΠΌ ΠΏΠΎΠ½ΡΠ°Π²ΠΈΠ»Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ report_disk_space, ΡΠΎΠ·Π΄Π°Π½Π½Π°Ρ Π½Π°ΠΌΠΈ Π΄Π»Ρ Π½Π°ΡΠ΅Π³ΠΎ ΡΡΠ΅Π½Π°ΡΠΈΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΠΎΡ ΠΎΠΆΡΡ ΡΡΠ½ΠΊΡΠΈΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ ds Π² ΡΠ²ΠΎΠ΅ΠΌ ΡΠ°ΠΉΠ»Π΅ .bashrc:
ds () {
echo "Disk Space Utilization For $HOSTNAME"
df -h
}
ΠΠ°ΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π·Π°ΠΌΠ΅ΡΠ°Π½ΠΈΠ΅
Π ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅ ΠΌΡ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠ»ΠΈΡΡ Ρ ΡΠΈΡΠΎΠΊΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΡΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΡΠ²Π΅ΡΡ Ρ Π²Π½ΠΈΠ· ΠΈ ΡΠ²ΠΈΠ΄Π΅Π»ΠΈ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡΠ°ΠΏΠ½ΠΎ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ. ΠΡ ΡΠ°ΠΊΠΆΠ΅ Π½Π°ΡΡΠΈΠ»ΠΈΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π΄Π΅Π»Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠΌΠΈ ΠΎΡ Π΄ΡΡΠ³ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, Π² ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ½ΠΈ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ. Π€ΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π°ΡΡ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΡΠΌΠΈ ΠΈ ΠΏΡΠΈΠ³ΠΎΠ΄Π½ΡΠΌΠΈ Π΄Π»Ρ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π²ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΡΡΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΡ ΠΌΠ°ΡΡΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
27. Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΡΠΎΠΊΠΎΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ: Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ if
Π ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ Π³Π»Π°Π²Π΅ ΠΌΡ ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΠΈΡΡ Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ. ΠΠ°ΠΊ ΠΏΠΎΠΌΠΎΡΡ ΡΡΠ΅Π½Π°ΡΠΈΡ Π°Π΄Π°ΠΏΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π·Π°ΠΏΡΡΡΠΈΠ²ΡΠ΅Π³ΠΎ Π΅Π³ΠΎ? ΠΠ»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ Π½Π΅ΠΊΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± Β«ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅Β» Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ΅Π½Π°ΡΠΈΡ, ΠΎΠΏΠΈΡΠ°ΡΡΡ Π½Π° ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ. ΠΡΡΠ°ΠΆΠ°ΡΡΡ ΡΠ·ΡΠΊΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ², Π½Π°ΠΌ Π½ΡΠΆΠ΅Π½ ΡΠΏΠΎΡΠΎΠ±, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΠΈΠΉ Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ Π»ΠΎΠ³ΠΈΠΊΠΈ, Π²ΡΡΠ°ΠΆΠ΅Π½Π½ΡΠΉ Π² ΠΏΡΠ΅Π²Π΄ΠΎΠΊΠΎΠ΄Π΅, ΠΈΠΌΠΈΡΠΈΡΡΡΡΠ΅ΠΌ ΡΠ·ΡΠΊ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠ², Π½ΠΎ ΠΏΠΎΠ½ΡΡΠ½ΠΎΠΌ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΡ:
x = 5
ΠΡΠ»ΠΈ x = 5, ΡΠΎΠ³Π΄Π°:
Π‘ΠΊΠ°Π·Π°ΡΡ Β«x ΡΠ°Π²Π½ΠΎ 5Β».
ΠΠ½Π°ΡΠ΅:
Π‘ΠΊΠ°Π·Π°ΡΡ Β«x Π½Π΅ ΡΠ°Π²Π½ΠΎ 5Β».
ΠΡΠΎ β ΠΏΡΠΈΠΌΠ΅Ρ Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΡ. ΠΡΠ»ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Β«x = 5?Β» Π²Π΅ΡΠ½ΠΎ, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΡΡΠΎΠΊΠ°: Β«Π‘ΠΊΠ°Π·Π°ΡΡ βx ΡΠ°Π²Π½ΠΎ 5βΒ». ΠΠ½Π°ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΡΡΠΎΠΊΠ°: Β«Π‘ΠΊΠ°Π·Π°ΡΡ βx Π½Π΅ ΡΠ°Π²Π½ΠΎ 5βΒ».
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ if
Π ΡΡΠ΅Π½Π°ΡΠΈΡΡ Π½Π° ΡΠ·ΡΠΊΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΡ Π²ΡΡΠ΅ Π»ΠΎΠ³ΠΈΠΊΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΠΊ:
x=5
if [ $x = 5 ]; then
echo "x equals 5."
else
echo "x does not equal 5."
fi
Π Π΅ΡΠ»ΠΈ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅, ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΡΠΎΡΠ΅:
[ [email protected] ~]$ x=5
[ [email protected] ~]$ if [ $x = 5 ]; then echo "equals 5"; else echo "does not equal 5"; fi
equals 5
[ [email protected] ~]$ x=0
[ [email protected] ~]$ if [ $x = 5 ]; then echo "equals 5"; else echo "does not equal 5"; fi
does not equal 5
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π²Π°ΠΆΠ΄Ρ. ΠΠ΅ΡΠ²ΡΠΉ ΡΠ°Π· ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ 5 Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ x, ΡΡΠΎ ΠΏΡΠΈΠ²Π΅Π»ΠΎ ΠΊ Π²ΡΠ²ΠΎΠ΄Ρ ΡΡΡΠΎΠΊΠΈ equals 5, ΠΈ Π²ΡΠΎΡΠΎΠΉ ΡΠ°Π· ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ 0 Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ x, ΡΡΠΎ ΠΏΡΠΈΠ²Π΅Π»ΠΎ ΠΊ Π²ΡΠ²ΠΎΠ΄Ρ ΡΡΡΠΎΠΊΠΈ not equal 5.
ΠΠ½ΡΡΡΡΠΊΡΠΈΡ if ΠΈΠΌΠ΅Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
if ΠΊΠΎΠΌΠ°Π½Π΄Ρ; then
ΠΊΠΎΠΌΠ°Π½Π΄Ρ
[elif ΠΊΠΎΠΌΠ°Π½Π΄Ρ; then
commands...]
[else
ΠΊΠΎΠΌΠ°Π½Π΄Ρ]
fi
Π³Π΄Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ β ΡΡΠΎ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠΎΠΌΠ°Π½Π΄. ΠΠ° ΠΏΠ΅ΡΠ²ΡΠΉ Π²Π·Π³Π»ΡΠ΄ ΡΠ°ΠΊΠΎΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ Π·Π°ΠΏΡΡΠ°Π½Π½ΡΠΌ. ΠΠΎ ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΏΡΠΎΡΡΠ½ΠΈΡΡ Π΅Π³ΠΎ, ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π½Π°Ρ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΈΠ»ΠΈ Π½Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°.
ΠΠΎΠ΄ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ
ΠΠΎΠΌΠ°Π½Π΄Ρ (Π²ΠΊΠ»ΡΡΠ°Ρ ΡΡΠ΅Π½Π°ΡΠΈΠΈ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π½Π°ΡΠΈΠΌΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΌΠΈ ΡΡΠΊΠ°ΠΌΠΈ) ΠΏΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ ΡΠ°Π±ΠΎΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π°Π·ΡΠ²Π°ΡΡ ΠΊΠΎΠ΄ΠΎΠΌ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ (exit status). ΠΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ β ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ 0 Π΄ΠΎ 255 β ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ ΠΎΠ± ΡΡΠΏΠ΅ΡΠ½ΠΎΠΌ ΠΈΠ»ΠΈ Π½Π΅ΡΡΠΏΠ΅ΡΠ½ΠΎΠΌ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ. ΠΠΎ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 0 ΡΠ»ΡΠΆΠΈΡ ΠΏΡΠΈΠ·Π½Π°ΠΊΠΎΠΌ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ, Π° Π»ΡΠ±ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅ β Π½Π΅ΒΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ. ΠΠΎΠΌΠ°Π½Π΄Π½Π°Ρ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ, ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΊΠΎΠ΄ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
[ [email protected] ~]$ ls -d /usr/bin
/usr/bin
[ [email protected] ~]$ echo $?
0
[ [email protected] ~]$ ls -d /bin/usr
ls: cannot access /bin/usr: No such file or directory
[ [email protected] ~]$ echo $?
2
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ Π΄Π²Π°ΠΆΠ΄Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ls. Π ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ°Π· ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΡΠΏΠΎΠ»Π½ΠΈΠ»Π°ΡΡ Π±Π»Π°Π³ΠΎΠΏΠΎΠ»ΡΡΠ½ΠΎ. ΠΡΠ»ΠΈ Π²ΡΠ²Π΅ΡΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ $?, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ, ΡΡΠΎ ΠΎΠ½ΠΎ ΡΠ°Π²Π½ΠΎ 0. ΠΠΎ Π²ΡΠΎΡΠΎΠΉ ΡΠ°Π· ΠΊΠΎΠΌΠ°Π½Π΄Π° ls ΡΠΎΠΎΠ±ΡΠΈΠ»Π° ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅, Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ $? ΡΠΎΠ΄Π΅ΡΠΆΠ°Π»Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 2, ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΠ΅Π΅, ΡΡΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΡΠΎΠ»ΠΊΠ½ΡΠ»Π°ΡΡ Ρ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ. ΠΠ΄Π½ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠ°Π·Π½ΡΠ΅ ΠΊΠΎΠ΄Ρ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ, ΡΡΠΎΠ±Ρ ΡΠΎΠΎΠ±ΡΠΈΡΡ ΠΎ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ, ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Π΄ΡΡΠ³ΠΈΠ΅, ΡΡΠΎΠ»ΠΊΠ½ΡΠ²ΡΠΈΡΡ Ρ Π»ΡΠ±ΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ, ΠΏΡΠΎΡΡΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 1. Π‘ΡΡΠ°Π½ΠΈΡΡ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΎΠ³ΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π° ΡΠ°ΡΡΠΎ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΡΠ°Π·Π΄Π΅Π» Ρ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠΌ Β«Exit StatusΒ» (Β«ΠΠΎΠ΄Ρ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡΒ»), ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΠΈΠΉ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠ΅ ΠΊΠΎΠ΄Ρ. ΠΠ΄Π½Π°ΠΊΠΎ 0 Π²ΡΠ΅Π³Π΄Π° ΡΠ»ΡΠΆΠΈΡ ΠΏΡΠΈΠ·Π½Π°ΠΊΠΎΠΌ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.