ΠΊΠ°ΠΊ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠΊΡΠΈΠΏΡ ΠΈΠ»ΠΈ Π½Π΅Ρ
ΠΡΠΎΠ²Π΅ΡΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΠ°
ΠΠΎΠΏΡΠΎΡ: ΠΊΠ°ΠΊ Π»ΡΡΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π² rc.local ΠΏΡΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ΅?
ΠΠΎΠΆΠ΅Ρ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ if Π½ΡΠΆΠ½Ρ ΡΡΠ΄Π° Π΅ΡΠ΅ + Π² Π»ΠΎΠ³ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ Π²ΡΡ
Π»ΠΎΠΏ.
ΠΠΎΠ΄ΡΠΊΠ°ΠΆΠΈΡΠ΅, ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΠΊΡΠΎ Π΄Π΅Π»Π°Π» ΡΠ°ΠΊΠΎΠ΅ ΠΈ ΠΊΠ°ΠΊ.
Π‘ΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ, Ρ ΠΌΠ΅Π½Ρ ΡΠ°ΠΌ Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, Π½ΠΎ Π½Π° Π±ΡΠ΄ΡΡΠ΅Π΅ Ρ
ΠΎΡΠ΅Π»ΠΎΡΡ Π±Ρ Π·Π½Π°ΡΡ, Π΅ΡΠ»ΠΈ ΡΡΠΎ:
Π ΡΠ°Π·Π²Π΅ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΠΈΠ»ΡΠ½ΠΎ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ Π² Π΄ΡΡΠ³ΠΈΡ ? π
ΠΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΡΠ·Π°Π» screen, ΡΡΠΎ Π΄Π°ΡΡ ΡΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π°? ΠΠ΄Π΅ Π±ΡΠ΄Π΅Ρ Π²ΡΡ Π»ΠΎΠΏ ΠΈΠ»ΠΈ Π»ΠΎΠ³?
ΠΠΎΠΏΡΠΎΡ: ΠΊΠ°ΠΊ Π»ΡΡΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π² rc.local ΠΏΡΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ΅?
Π― ΡΠ° ΡΠΎΡΠ½ΠΎ Π½Π΅ ΠΏΠΎΠΌΠ½Ρ ΠΊΠ°ΠΊΠΎΠΉ ΡΠ°ΠΌ Π² Π±Π°ΡΠ΅ Π·Π½Π°ΠΊ (ΠΊΠ°ΠΆΠ΅ΡΡΡ &&)
ΠΠ° ΡΠ°ΠΌ Π½Π΅ ΡΠΊΡΠΈΠΏΡ, Π° Π² rc.local:
ΠΡΠ΅ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅. Π₯ΠΎΡΠ΅Π» Π²ΠΎΡ ΡΠ·Π½Π°ΡΡ, ΠΊΠ°ΠΊ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π½Π° ΠΏΡΠ΅Π΄ΠΌΠ΅Ρ Π΅Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
Bash script β ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° Π·Π°ΠΏΡΡΠ΅Π½Π½ΠΎΡΡΡ ΠΈ Π΅Π΅ Π·Π°ΠΏΡΡΠΊ
Π ΠΎΠ±ΡΠ΅ΠΌ, ΠΌΠ½Π΅ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΊΠ°ΠΊ-ΡΠΎ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π·Π°ΠΏΡΡΠ΅Π½Π° Π»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, Π° Π΅ΡΠ»ΠΈ Π½Π΅Ρ, ΡΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ Π΅Ρ. ΠΠ°, Π΅ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π»Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° Π²ΡΠ΅Π³ΠΎ ΡΡΠΎΠ³ΠΎ Π΄Π΅Π»Π° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, mon), Π½ΠΎ ΡΡΠ°Π²ΠΈΡΡ ΠΈΡ ΠΈΠ·-Π·Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π΅ Ρ ΠΎΡΠ΅Π»ΠΎΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π°ΠΏΠΈΡΠ°Π» Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΠΊΡΠΈΠΏΡ.
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΡΠΌΠΎΡΡΠΈΠΌ Π·Π°ΠΏΡΡΠ΅Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΈΠ»ΠΈ Π½Π΅Ρ:
ΠΠΈΡΠ°ΡΡ Π½Π° Bash Π½Π΅ΡΠ»ΠΎΠΆΠ½ΠΎ, Π° ΡΠ°ΠΊΠΆΠ΅ Π²Π΅ΡΡΠΌΠ° ΡΠ²Π»Π΅ΠΊΠ°ΡΠ΅Π»ΡΠ½ΠΎ, Π² ΠΏΡΠΎΡΠ΅ΠΌ, ΠΊΠ°ΠΊ ΠΈ Π²ΡΠ΅ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ. Π’Π°ΠΊ ΡΡΠΎ ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΡΠ°ΠΌΠΈ ΡΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ Π½Π°ΠΏΠΈΡΠ°ΡΡ, Ρ Π²Π°Ρ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ. Π’Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅, ΡΡΠΎ ΠΏΠΎ bash ΠΏΠΎΠ»Π½ΠΎ Π²ΡΡΠΊΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΈ Π½Π° ΡΡΡΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅.
20 ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² ΠΊ Π·Π°ΠΏΠΈΡΠΈ β Bash script β ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° Π·Π°ΠΏΡΡΠ΅Π½Π½ΠΎΡΡΡ ΠΈ Π΅Π΅ Π·Π°ΠΏΡΡΠΊ β
Π ΠΏΠΎΡΡΠ½Π΅Π½ΠΈΠΈ ΠΊ ΡΠΊΡΠΈΠΏΡΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ, ΠΊΠ°ΠΊ ΠΈΡΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² ΡΠ°ΠΌ grep.
ΠΠ΅ ΡΠΏΠΎΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ 🙂 Π½ΠΎ ΠΌΠΎΡ ΡΠ±ΡΠ½ΡΠ° 14.04 ΡΠΏΠΎΡΠ½ΠΎ ΡΡΠΈΡΠ°Π»Π° ΡΠ°ΠΌΠ° ΡΠ΅Π±Ρ 🙂
Π§ΡΠΎ Ρ ΠΠ°Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π°?
ΠΠΎΡ ΠΎΠ΄Ρ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π²ΡΠ²ΠΎΠ΄ΠΈΡ, ΡΠΊΠΎΠ±ΠΊΠΈ Π½Π΅ Π²ΠΎΡΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ. ΠΡΠΎ ΡΡΠ΅Π·Π°Π½Π½Π°Ρ pxe ΡΠ±ΠΎΡΠΊΠ° Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΏΠΎ nfs. Π Π²ΠΎΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΡΠ΅ΡΠ²Π΅ Ρ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΠΎΠΉ ΠΈΠ½ΡΡΠ°Π»ΡΡΠΊΠΎΠΉ Π²ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π΄Π»Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΈΠ».
ΠΡΠ»ΠΈ htop Π½Π΅ Π·Π°ΠΏΡΡΠ΅Π½, ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΈ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° Π½ΠΈΡΠ΅Π³ΠΎ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ. Π‘ΠΊΠΎΠ±ΠΊΠΈ ΡΠ»ΡΠΆΠ°Ρ Π΄Π»Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ grep ΠΈΠ· Π²ΡΠ²ΠΎΠ΄Π°.
Π‘ΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, grep Ρ ΠΠ°Ρ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠ°ΠΊ ΡΠ°Π· Π²Π΅ΡΠ½ΠΎ, Π½Π΅ ΡΠΌΠΎΡΡΡ Π½Π° ΡΠ±ΠΎΡΠΊΡ.
Π§Ρ-ΡΠΎ ΠΊΠ°ΠΊ-ΡΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎΠ²Π°ΡΠΎ Ρ Π²Π°Ρ Π²ΡΡ. ΠΠΎΡ ΠΊΠ°ΠΊ Ρ ΡΠ΄Π΅Π»Π°Π» Π±Ρ:
ΠΡΠΎΠ²Π΅ΡΠ΅Π½ΠΎ Π½Π° ΡΡΡΡ ΡΠ±ΡΠ½ΡΠ΅ Π² bash ΠΈ sh.
Π ps aux | grep [t]op Π²ΡΠ΄Π°ΡΡ Π»ΠΈΡΠ½ΠΎ Ρ ΠΌΠ΅Π½Ρ Π½Π΅ΡΡΠΎ ΡΠΎ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ org.freedesktop.
ΠΠ°Π»ΠΎ Π»ΠΈ ΡΡΠΎ ΡΠ°ΠΌ Ρ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠ° Π·Π°ΠΏΡΡΠ΅Π½ΠΎ Ρ ΡΠ°ΠΊΠΈΠΌ ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠ΅ΠΌ Π±ΡΠΊΠ² Π² ΠΏΡΡΡΡ , ΠΈΠΌΠ΅Π½Π°Ρ ΠΈΠ»ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°Ρ β¦ ΠΡ Π±Ρ Π΅ΡΡ Β«eΒ» Π² ΠΎΠΏΡΠΈΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π΄Π»Ρ ΠΏΡΡΠ΅Π³ΠΎ Π²Π΅ΡΠ΅Π»ΡΡ.
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ!
ΠΠ΄Π½Π°ΠΊΠΎ, ΡΠΏΡΠ°Π²Π΅Π΄Π»ΠΈΠ²ΠΎΡΡΠΈ ΡΠ°Π΄ΠΈ Π·Π°ΠΌΠ΅ΡΡ, ΡΡΠΎ ΠΊΠΎΠ³Π΄Π° ΡΡ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ°, ΡΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π²ΡΠ²ΠΎΠ΄ ps Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ ΠΈ Π±ΡΡΡΡΠ΅Π΅, ΡΠ΅ΠΌ Π³ΠΎΡΠΎΠ΄ΠΈΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΈΠ· if-ΡΡΠ»ΠΎΠ²ΠΈΠΉ 🙂 Π ΡΠΊΡΠΈΠΏΡΠ΅, ΡΠΎΠ³Π»Π°ΡΠ΅Π½, ΡΠ°ΠΊ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π³Π°Π½ΡΠ½Π΅Π΅.
ΠΠΎ debian 10.5 ΡΠ°Π±ΠΎΡΠ°Π»ΠΎ ΠΎΡΠ»ΠΈΡΠ½ΠΎ. ΠΠ° debian 10.5 ΡΠ°ΠΊΠ°Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ Ρ ΠΌΠ΅Π½Ρ ΡΠ»ΠΎΠΌΠ°Π»Π°ΡΡ, Π² ΠΈΡΠΎΠ³Π΅ Π½Π°Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π»ΠΎΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ (4915) ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² cron ΠΈ Π²ΡΠ΅ cron-ΡΠΊΡΠΈΠΏΡΡ Π²ΡΡΠ°Π»ΠΈ Ρ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ Β«(CRON) error (canβt fork)Β» Π² syslog.
Π 10.6 ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, ΠΏΠΎΡΡΠΎΠΌΡ Ρ ΠΏΡΠΎΡΡΠΎ Π½Π°ΠΏΠΈΡΠ°Π» ΡΠ½ΠΈΡ Π΄Π»Ρ systemd Π΄Π»Ρ ΡΠ²ΠΎΠ΅Π³ΠΎ python-ΡΠΊΡΠΈΠΏΡΠ°, ΡΡΠΎΠ±Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΎΠΌ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊΠ°Π»ΡΡ, Π΅ΡΠ»ΠΈ Π²Π΄ΡΡΠ³ ΡΠΏΠ°Π΄Π΅Ρ.
ΠΠ°ΠΊ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΡΠΏΠ΅ΡΠ½ΠΎΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² Bash
ΠΠ»Π°Π²Π½ΠΎΠ΅ ΠΌΠ΅Π½Ρ Β» Linux Β» ΠΠ°ΠΊ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΡΠΏΠ΅ΡΠ½ΠΎΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² Bash
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅ΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, Π±ΡΠ»Π° Π»ΠΈ Π²Π°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π² bash ΡΡΠΏΠ΅ΡΠ½ΠΎΠΉ. ΠΡΠ΄ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΡΡ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅. ΠΠ΄Π½Π°ΠΊΠΎ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²Ρ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΠ΅, Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ ΡΠ°Π·Π½Π°Ρ ΡΠ°ΠΊΡΠΈΠΊΠ°.
ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π° ΡΡΠΏΠ΅ΡΠ½ΠΎ
ΠΡΡΠΊΠΈΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² bash. Π ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΠΌ Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅Ρ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π΄Π»Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ. Π Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠΎ Ubuntu, ΠΏΠΎΡΡΠΎΠΌΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊΠΎΠΉ.
ΠΠ΄Π΅ΡΡ, ΠΏΠΎ Π²ΡΡ ΠΎΠ΄Π½ΡΠΌ Π΄Π°Π½Π½ΡΠΌ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π»Π΅Π³ΠΊΠΎ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π° ΡΡΠΏΠ΅ΡΠ½ΠΎ. Π’Π΅ΠΏΠ΅ΡΡ ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠ°Ρ Π² ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ΅ bash, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Ρ ΡΠ°Π½ΠΈΡΡΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ bash Β«$?Β». Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
ΠΡΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π° ΡΡΠΏΠ΅ΡΠ½ΠΎ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ 0. ΠΡΠ»ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ½ΠΎΠ΅, Π·Π½Π°ΡΠΈΡ, ΠΎΠ½Π° Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΠ»Π°ΡΡ Π΄ΠΎΠ»ΠΆΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΠΌ ΡΡΠΎ. ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΡ ΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ, Π½ΠΎ Π½Π° ΡΡΠΎΡ ΡΠ°Π· ΠΏΡΠ΅ΡΠ²ΠΈΡΠ΅ Π΅Π΅, Π½Π°ΠΆΠ°Π² Β«Ctrl + CΒ».
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ bash.
Π‘Π΄Π΅Π»Π°ΠΉΡΠ΅ ΡΠ°ΠΉΠ» ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΌ.
Π’Π΅ΠΏΠ΅ΡΡ Π·Π°ΠΏΡΡΡΠΈΠΌ ΡΡΠ΅Π½Π°ΡΠΈΠΉ.
ΠΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π»ΡΠ±ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ bash ΠΎΠ±Π½ΠΎΠ²ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ echo ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΎΠ½Π° Π²ΡΠΏΠΎΠ»Π½ΠΈΠ»Π°ΡΡ ΠΈΠ»ΠΈ Π½Π΅Ρ. ΠΠ°ΠΌΠ΅Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ echo ΡΠ΅ΠΌ ΡΠ³ΠΎΠ΄Π½ΠΎ ΠΈ Π²ΡΠ°Π»Ρ!
ΠΠΎΡ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΡΡ ΡΡΠΏΠ΅ΡΠ½ΠΎΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ. ΠΡΠΎ ΠΏΡΠΎΡΡΠΎ ΠΎΠ΄Π½ΠΎΡΡΡΠΎΡΠ½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠ°.
ΠΠ΄Π΅ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π° Π½Π° Π΄Π²Π΅ ΡΠ°ΡΡΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠΌ Β«||Β». ΠΡΠ»ΠΈ ΠΏΠ΅ΡΠ²Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΡΠΏΠ΅ΡΠ½ΠΎ, Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΏΠ΅ΡΠ²Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° echo. Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΡΡΠ΅Π½Π° Π²ΡΠΎΡΠ°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° echo. ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΠΌ ΡΡΠΎ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅.
ΠΠ΅ΡΠ²Π°Ρ ΡΠ°ΡΡΡ Π½Π΅ ΡΠ΄Π°Π»Π°ΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΠ΅ΡΠ²Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° echo Π±ΡΠ»Π° ΠΏΡΠΎΠΏΡΡΠ΅Π½Π°. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ Π±ΡΠ»Π° Π·Π°ΠΏΡΡΠ΅Π½Π° Π²ΡΠΎΡΠ°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° echo, ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΠ°Ρ Π½Π° ΡΠΎ, ΡΡΠΎ ΠΏΠ΅ΡΠ²Π°Ρ ΡΠ°ΡΡΡ Π½Π΅ Π±ΡΠ»Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π° ΡΡΠΏΠ΅ΡΠ½ΠΎ. Π§ΡΠΎ, Π΅ΡΠ»ΠΈ Π²ΡΠ΅ ΠΏΡΠΎΡΠ»ΠΎ ΡΡΠΏΠ΅ΡΠ½ΠΎ?
ΠΡΠ»Π° Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°Π½Π° ΠΏΠ΅ΡΠ²Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° echo.
ΠΠΎΡ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΏΡΠΈΠΌΠ΅Ρ ΡΡΠ΅Π½Π°ΡΠΈΡ bash.
ΠΡΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π½Π΅ ΡΠ΄Π°Π»Π°ΡΡ, ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π±ΡΠ΄Π΅Ρ Π΄ΡΡΠ³ΠΈΠΌ.
ΠΠ°ΠΊΠΎΠΉ ΡΡΠ΅Π½Π°ΡΠΈΠΉ bash ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ? ΠΡ Π½Π°ΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ²ΡΠΉ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠ½Π°ΡΠ°Π»Π° Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π°, Π° Π·Π°ΡΠ΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Β«$?Β» ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅ΡΡΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π° Π·Π°ΡΠ΅ΠΌ Π²ΡΠΏΠΎΠ»Π½ΡΠΉΡΠ΅ Π²ΡΠ΅, ΡΡΠΎ Ρ ΠΎΡΠΈΡΠ΅, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ.
ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΠΌΡΡΠ»ΠΈ
Bash β ΡΡΠΎ ΠΌΠΎΡΠ½Π°Ρ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ° Ρ ΠΌΠΎΡΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π². ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ·Π½Π°ΡΡ, ΡΠ΄Π°Π»ΠΎΡΡ Π»ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ°Π½Π΅Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΡΡΠΎ ΠΎΠ΄Π½ΠΈ ΠΈΠ· ΡΠ°ΠΌΡΡ Π½Π°Π΄Π΅ΠΆΠ½ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ².
ΠΠ°ΠΊΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ? ΠΡΠΎ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΎΠΉ ΡΠ΅Π»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π΄ΠΎΡΡΠΈΡΡ. ΠΠ»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅ ΠΈ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ Π»ΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ. Π§ΡΠΎ ΠΊΠ°ΡΠ°Π΅ΡΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² bash, Π½Π΅ ΡΡΠ΅ΡΠ½ΡΠΉΡΠ΅ΡΡ, ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π»ΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π²Π°ΠΌ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΡΡΠ΅Π½Π°ΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°Π»ΠΈ.
ΠΡΠ»ΠΈ Π²Ρ Π½Π°ΡΠ»ΠΈ ΠΎΡΠΈΠ±ΠΊΡ, ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π²ΡΠ΄Π΅Π»ΠΈΡΠ΅ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΡΠ΅ΠΊΡΡΠ° ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ Ctrl+Enter.
ΠΠ°ΠΊ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, Π΅ΡΠ»ΠΈ Π·Π°ΠΏΡΡΠ΅Π½Π½Π° Π»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ?
ΠΠΎ ΠΊΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅, Π²ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π΅ ΡΠ°ΠΊ Ρ ΠΎΡΠ΅Π»ΠΎΡΡ Π±Ρ. ΠΠΎΠ³Π°Π΄ΡΠ²Π°ΡΡΡ, ΡΡΠΎ Π² ΡΡΠ»ΠΎΠ²ΠΈΠΈ Π΅ΡΠ΅ ΠΈ Π½Π°Π΄ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, Π΅ΡΠ»ΠΈ countRun() Π·Π°ΠΏΡΡΠ΅Π½ ΠΈ Π½Π΅ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π΅Π³ΠΎ Π±ΠΎΠ»ΡΡΠ΅, Π½Ρ ΠΈΠ»ΠΈ ΡΡΠΎ-ΡΠΎ Π΄ΡΡΠ³ΠΎΠ΅ ΠΎ ΡΠ΅ΠΌ Ρ Π½Π΅ Π΄ΠΎΠ³Π°Π΄ΡΠ²Π°ΡΡΡ.
4 ΠΎΡΠ²Π΅ΡΠ° 4
ΠΡΠΎΠ²Π΅ΡΠΈΡΡ «Π·Π°ΠΏΡΡΠ΅Π½Π° Π»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ» Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. ΠΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, «Π±ΡΠ»Π° Π»ΠΈ Π·Π°ΠΏΡΡΠ΅Π½Π° ΡΡΠ½ΠΊΡΠΈΡ». ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΡΡΠ½ΠΊΡΠΈΡ ΡΠ°ΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠ΅Π±Ρ Π³Π΄Π΅-ΡΠΎ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡ.
ΠΠΎ ΠΈΠ΄Π΅Π΅ Π΄Π°, Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ (ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, Π²ΡΠΎΠ΄Π΅ Π±Ρ, ΠΊΠ°ΠΊ Π½ΡΠΆΠ½ΠΎ):
ΠΡΠΎ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ Π΄Π»Ρ Π½Π°Π³Π»ΡΠ΄Π½ΠΎΡΡΠΈ
Π£ Π²Π°Ρ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π½Π΅ ΠΎΠ΄ΠΈΠ½ ΡΠ°ΠΉΠΌΠ΅Ρ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ, Π° ΡΠ΅Π»Π°Ρ ΠΊΡΡΠ°. ΠΠΎΠ±Π°Π²ΠΈΠ» Π² Π²Π°Ρ ΠΏΡΠΈΠΌΠ΅Ρ Π²ΡΠ²ΠΎΠ΄ Π½ΠΎΠΌΠ΅ΡΠΎΠ² ΡΠ°ΠΉΠΌΠ΅ΡΠΎΠ². ΠΡΠΈΡΠΈΠ½Π° Π² ΡΠΎΠΌ, ΡΡΠΎ onscroll Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π· Ρ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΊΡΡΡΠΊΠΈ. ΠΠΎΠΆΠ½ΠΎ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡ Π½ΠΎΠΌΠ΅ΡΠ° ΡΠ°ΠΉΠΌΠ΅ΡΠΎΠ² Π² ΠΌΠ°ΡΡΠΈΠ² ΠΈ ΠΌΠ°ΡΡΠΎΠ²ΠΎ Π·Π°ΡΠΈΡΠ°ΡΡ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π», Π»ΠΈΠ±ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ Π΅ΡΡΡ Π»ΠΈ ΡΠΆΠ΅ ΡΠ°ΠΉΠΌΠ΅Ρ (ΠΈ Π΄Π΅Π»Π°ΡΡ clearInterval Π΄Π»Ρ Π½Π΅Π³ΠΎ) ΠΏΠ΅ΡΠ΅Π΄ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ΠΌ Π½ΠΎΠ²ΠΎΠ³ΠΎ.
ΠΡΠ°ΡΠΊΠΈΠΉ ΠΎΡΠ²Π΅Ρ: Π½Π΅Ρ. ΠΠΎ Π² ΡΡΠΎΠΌ ΠΈ Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΈΠ·-Π·Π° ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΠ·ΡΠΊΠ°.
ΠΡΡΡΠ΅Π΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π½Π° ΠΌΠΎΠΉ Π²Π·Π³Π»ΡΠ΄
ΠΡΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ run undefined ΠΠ°ΡΠ΅ΠΌ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π», run ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ Π΅Π³ΠΎ id.
Π‘Π΅ΠΉΡΠ°Ρ run ΡΠ°Π²Π½ΠΎ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ 28 Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΈ ΡΠΎΡ ΡΠ°ΠΊΡ ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΠ»Π°ΡΡ ΠΈ ΡΠΎΡ ΡΠ°ΠΊΡ ΡΡΠΎ ΡΠ΅ΠΉΡΠ°Ρ Ρ Π½Π°Ρ Π·Π°ΠΏΡΡΠ΅Π½ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π». ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ°ΠΊ:
ΠΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄Ρ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ Π² Bash-ΡΠΊΡΠΈΠΏΡΠ°Ρ
ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΡΠ΄ΠΎΠ±Π½Ρ ΡΠ΅ΠΌ, ΡΡΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ Π²Π·ΡΡΡ Π³ΠΎΡΠΎΠ²ΡΠ΅ ΡΠΊΡΠΈΠΏΡΡ, ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π°Π΄Π°ΠΏΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΡΠ²ΠΎΡΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅. ΠΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠΊΡΠΈΠΏΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΊΠΎΠ΄Ρ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ (exit codes), Π° Π² Π΄ΡΡΠ³ΠΈΡ Π½Π΅Ρ. Π ΠΊΠΎΠ΄Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ Π»Π΅Π³ΠΊΠΎ Π·Π°Π±ΡΡΡ, Π½ΠΎ ΡΡΠΎ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ. ΠΡΠΎΠ±Π΅Π½Π½ΠΎ Π²Π°ΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π² ΡΠΊΡΠΈΠΏΡΠ°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΊΠΎΠ΄Ρ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ
Π Linux ΠΈ Π΄ΡΡΠ³ΠΈΡ Unix-ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠΌΡ ΠΏΡΠΎΡΠ΅ΡΡΡ. ΠΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΊΠΎΠ΄ΠΎΠΌ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ΠΌ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ. Π POSIX ΠΏΠΎ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ ΡΡΠ°Π½Π΄Π°ΡΡ: ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ 0 ΠΏΡΠΈ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΌ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΈ 1 ΠΈΠ»ΠΈ Π±ΠΎΠ»ΡΡΠ΅Π΅ ΡΠΈΡΠ»ΠΎ ΠΏΡΠΈ Π½Π΅ΡΠ΄Π°ΡΠ½ΠΎΠΌ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ.
ΠΠΎΡΠ΅ΠΌΡ ΡΡΠΎ Π²Π°ΠΆΠ½ΠΎ? ΠΡΠ»ΠΈ ΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π° ΠΊΠΎΠ΄Ρ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ ΡΠΊΡΠΈΠΏΡΠΎΠ² Π΄Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, ΠΎΡΠ²Π΅Ρ ΠΎΡΠ΅Π²ΠΈΠ΄Π΅Π½. ΠΡΠ±ΠΎΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ Bash-ΡΠΊΡΠΈΠΏΡ Π½Π΅ΠΈΠ·Π±Π΅ΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π² Π΄ΡΡΠ³ΠΈΡ ΡΠΊΡΠΈΠΏΡΠ°Ρ ΠΈΠ»ΠΈ Π΅Π³ΠΎ ΠΎΠ±Π΅ΡΠ½ΡΡ Π² ΠΎΠ΄Π½ΠΎΡΡΡΠΎΡΠ½ΠΈΠΊ Bash. ΠΡΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ ΡΠΈΠΏΠ° SaltStack ΠΈΠ»ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΡΠΈΠΏΠ° Nagios. ΠΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠΊΡΠΈΠΏΡ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΡΡΠ°ΡΡΡ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ, ΡΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, Π±ΡΠ»ΠΎ Π»ΠΈ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠΏΠ΅ΡΠ½ΡΠΌ.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π²Ρ Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΠ΅ ΠΊΠΎΠ΄Ρ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ, ΠΎΠ½ΠΈ Π²ΡΡ ΡΠ°Π²Π½ΠΎ Π΅ΡΡΡ Π² Π²Π°ΡΠΈΡ ΡΠΊΡΠΈΠΏΡΠ°Ρ . ΠΠΎ Π±Π΅Π· ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ΄ΠΎΠ² Π²ΡΡ ΠΎΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΎΠ»ΠΊΠ½ΡΡΡΡΡ Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ: Π»ΠΎΠΆΠ½ΡΠΌΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΎΠ± ΡΡΠΏΠ΅ΡΠ½ΠΎΠΌ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠ²Π»ΠΈΡΡΡ Π½Π° ΡΠ°Π±ΠΎΡΡ ΡΠΊΡΠΈΠΏΡΠ°.
Π§ΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ, ΠΊΠΎΠ³Π΄Π° ΠΊΠΎΠ΄Ρ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ
Π Linux Π»ΡΠ±ΠΎΠΉ ΠΊΠΎΠ΄, Π·Π°ΠΏΡΡΠ΅Π½Π½ΡΠΉ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅, ΠΈΠΌΠ΅Π΅Ρ ΠΊΠΎΠ΄ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ. ΠΡΠ»ΠΈ ΠΊΠΎΠ΄ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½, Bash-ΡΠΊΡΠΈΠΏΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΊΠΎΠ΄ Π²ΡΡ ΠΎΠ΄Π° ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Π·Π°ΠΏΡΡΠ΅Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ. Π§ΡΠΎΠ±Ρ Π»ΡΡΡΠ΅ ΠΏΠΎΠ½ΡΡΡ ΡΡΡΡ, ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ.
ΠΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄Ρ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ Π² Bash-ΡΠΊΡΠΈΠΏΡΠ°Ρ
ΠΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ ΠΊΠΎΠ΄Ρ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ
ΠΠΎΡΠ»Π΅ ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³Π° ΡΠΊΡΠΈΠΏΡΠ° ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΡΠ°ΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅:
Π‘ΠΎΠ·Π΄Π°ΡΠΌ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΊΠΎΠ΄ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ
ΠΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄Ρ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅
Π‘ΠΊΡΠΈΠΏΡ ΡΠΆΠ΅ ΡΠΌΠ΅Π΅Ρ ΡΠΎΠΎΠ±ΡΠ°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌ ΠΎΠ± ΡΡΠΏΠ΅ΡΠ½ΠΎΠΌ ΠΈΠ»ΠΈ Π½Π΅ΡΡΠΏΠ΅ΡΠ½ΠΎΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ. Π’Π΅ΠΏΠ΅ΡΡ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΎΠ΄Π½ΠΎΡΡΡΠΎΡΠ½ΠΈΠΊΠ°ΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ.
Π‘ΠΊΡΠΈΠΏΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΊΠΎΠ΄Ρ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ½ΡΡΡ, Π±ΡΠ»Π° Π»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΡΠΏΠ΅ΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π°. ΠΡΠ»ΠΈ ΠΊΠΎΠ΄Ρ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ, ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠΊΡΠΈΠΏΡΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΏΡΠΈ Π½Π΅ΡΠ΄Π°ΡΠ½ΠΎΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠ΄Ρ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ
ΠΠ΄Π°ΠΏΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ ΡΡΠ°ΡΡΠΈ Understanding Exit Codes and how to use them in bash scripts by Benjamin Cane. ΠΠ½Π΅Π½ΠΈΠ΅ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΈΠΈ Π₯Π΅ΠΊΡΠ»Π΅ΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ Ρ ΠΌΠ½Π΅Π½ΠΈΠ΅ΠΌ Π°Π²ΡΠΎΡΠ° ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΠΎΠΉ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ.