Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² ΠΊΠΎΡ€Π·ΠΈΠ½ΡƒΠŸΠΎΠ·Π²ΠΎΠ½ΠΈΡ‚ΡŒ
Найти Π² Π”Π·Π΅Π½Π΅
Π£Ρ€ΠΎΠΊΠΈ Linux

πŸ“ *ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибок Π² Bash: ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ скрипты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΏΠ°Π΄Π°ΡŽΡ‚

πŸ“ *ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибок Π² Bash: ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ скрипты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΏΠ°Π΄Π°ΡŽΡ‚!* Π₯ΠΎΡ‡Π΅ΡˆΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‚Π²ΠΎΠΈ Π°Π²Ρ‚ΠΎΠ·Π°Π΄Π°Ρ‡ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ ΠΊΠ°ΠΊ часы, Π° Π½Π΅ Π³Π»ΡŽΡ‡ΠΈΠ»ΠΈ Π² самый нСподходящий ΠΌΠΎΠΌΠ΅Π½Ρ‚? Π’ΠΎΠ³Π΄Π° сСйчас расскаТу Ρ‚Π΅Π±Π΅ сСкрСты, ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ скрипты Π½Π΅ боялись ошибок ΠΈ всСгда Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π»ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ. Магия Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ошибок β€” ΠΎΠ½Π° ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ пошло Π½Π΅ Ρ‚Π°ΠΊ, ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΈΠ»ΠΈ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉ конструкции Π²Ρ€ΠΎΠ΄Π΅ set -e для автоматичСского Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΏΡ€ΠΈ ошибкС ΠΈΠ»ΠΈ провСряй Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ‡Π΅Ρ€Π΅Π· $?. А Π΅Ρ‰Π΅ ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡ΠΊΠ° ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ с ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ ошибок ΠΈ Π»ΠΎΠ³Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… β€” Ρ‚ΠΎΠ³Π΄Π° станСт понятно, Π³Π΄Π΅ Π·Π°Ρ‚Ρ‹ΠΊ. НапримСр, послС Π²Ρ‹Π·ΠΎΠ²Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄Π΅Π»Π°ΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ: - if [ $? -ne 0 ]; then echo "Ошибка ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ"; exit 1; fi - Или ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉ || Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ fallback: command || { echo "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ"; exit 1; } Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ сдСлаСт Ρ‚Π²ΠΎΠΈ скрипты Π½Π°Π΄Π΅ΠΆΠ½Π΅Π΅, Π° Ρ‚Ρ‹ β€” ΡƒΠ²Π΅Ρ€Π΅Π½Π½Ρ‹ΠΌ Π² своих automations. А Ρ‚Ρ‹ ΡƒΠΆΠ΅ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π» Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ с ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ ошибок? *- Π‘ΠΎΠ»ΡŒΡˆΠ΅ ΠΏΠΎΠ»

πŸ“ *ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибок Π² Bash: ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ скрипты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΏΠ°Π΄Π°ΡŽΡ‚!*

Π₯ΠΎΡ‡Π΅ΡˆΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‚Π²ΠΎΠΈ Π°Π²Ρ‚ΠΎΠ·Π°Π΄Π°Ρ‡ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ ΠΊΠ°ΠΊ часы, Π° Π½Π΅ Π³Π»ΡŽΡ‡ΠΈΠ»ΠΈ Π² самый нСподходящий ΠΌΠΎΠΌΠ΅Π½Ρ‚? Π’ΠΎΠ³Π΄Π° сСйчас расскаТу Ρ‚Π΅Π±Π΅ сСкрСты, ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ скрипты Π½Π΅ боялись ошибок ΠΈ всСгда Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π»ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ.

Магия Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ошибок β€” ΠΎΠ½Π° ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ пошло Π½Π΅ Ρ‚Π°ΠΊ, ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΈΠ»ΠΈ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉ конструкции Π²Ρ€ΠΎΠ΄Π΅ set -e для автоматичСского Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΏΡ€ΠΈ ошибкС ΠΈΠ»ΠΈ провСряй Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ‡Π΅Ρ€Π΅Π· $?. А Π΅Ρ‰Π΅ ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡ΠΊΠ° ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ с ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ ошибок ΠΈ Π»ΠΎΠ³Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… β€” Ρ‚ΠΎΠ³Π΄Π° станСт понятно, Π³Π΄Π΅ Π·Π°Ρ‚Ρ‹ΠΊ.

НапримСр, послС Π²Ρ‹Π·ΠΎΠ²Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄Π΅Π»Π°ΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ:

- if [ $? -ne 0 ]; then echo "Ошибка ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ"; exit 1; fi

- Или ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉ || Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ fallback: command || { echo "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ"; exit 1; }

Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ сдСлаСт Ρ‚Π²ΠΎΠΈ скрипты Π½Π°Π΄Π΅ΠΆΠ½Π΅Π΅, Π° Ρ‚Ρ‹ β€” ΡƒΠ²Π΅Ρ€Π΅Π½Π½Ρ‹ΠΌ Π² своих automations. А Ρ‚Ρ‹ ΡƒΠΆΠ΅ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π» Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ с ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ ошибок?

*- Π‘ΠΎΠ»ΡŒΡˆΠ΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… статСй Ρ‚Ρ‹ найдСшь Π² нашСм Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ ΠΊΠ°Π½Π°Π»Π΅ https://t.me/LinuxSkill Π° вакансии для систСмных администраторов Π² Π±ΠΎΡ‚Π΅ https://t.me/gradeliftbot*

*- Β«ΠŸΡ€ΠΎΠΊΠ°Ρ‡Π°ΠΉ свои скилы Π² Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ ΠΊΠ°Π½Π°Π»Π΅ https://t.me/LinuxSkill Π° ΠΏΡ€ΠΎΠΉΡ‚ΠΈ тСсты Π½Π° Π·Π½Π°Π½ΠΈΠ΅ Linux Π² Π±ΠΎΡ‚Π΅ https://t.me/gradeliftbotΒ»*

*- Β«Π£Π²Π΅Ρ€Π΅Π½ Π² своих знаниях Linux? ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒ Π² ΠΊΠ°Π½Π°Π»Π΅ https://t.me/LinuxSkill ΠΈΠ»ΠΈ ΡƒΠ·Π½Π°ΠΉ Ρ€Ρ‹Π½ΠΎΠΊ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π±ΠΎΡ‚Π° https://t.me/gradeliftbotΒ»*

πŸ“© Π—Π°Π²Ρ‚Ρ€Π°: Как Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Fail2Ban Π·Π° 5 ΠΌΠΈΠ½ΡƒΡ‚!

Π’ΠΊΠ»ΡŽΡ‡ΠΈ πŸ”” Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ!