скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ скрипт

скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π€ΠΎΡ‚ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ

ΠžΠ±Ρ‰Π΅Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ скрипта

Π‘ английского языка слово «скрипт» пСрСводится ΠΊΠ°ΠΊ сцСнарий, ΠΈΠ· Ρ‡Π΅Π³ΠΎ ΡƒΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Π²Ρ‹Π²ΠΎΠ΄Ρ‹. Π­Ρ‚ΠΎ Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠΌΠ°Π½Π΄, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ строк ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΠΊΡƒΠΏΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ. Для Π΅Π΅ выполнСния ΠΈ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ скрипты. Они ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΎΡ‡Π΅Π½ΡŒ малСнькими ΠΏΠΎ ΠΎΠ±ΡŠΠ΅ΠΌΡƒ ΠΈ ΠΎΡ‚Π²Π΅Ρ‡Π°Ρ‚ΡŒ Π·Π° запуск ΠΊΠ°ΠΊΠΈΡ…-Ρ‚ΠΎ простых слуТб ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы, Ρ‚Π°ΠΊ ΠΈ ΠΎΠ±ΡŠΠ΅ΠΌΠ½Ρ‹ΠΌΠΈ, сравнивая ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈ выводя Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π½Π° сайтС.

скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π€ΠΎΡ‚ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ

Π‘ΠΊΡ€ΠΈΠΏΡ‚ хранится Π² тСкстовом Ρ„Π°ΠΉΠ»Π΅, поэтому ΠΏΡ€ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ Π΅Π³ΠΎ содСрТимоС ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΈ Π΄Π°ΠΆΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ. Π­Ρ‚ΠΎΡ‚ тСкстовый Ρ„Π°ΠΉΠ» запускаСт Ρ†Π΅ΠΏΠΎΡ‡ΠΊΡƒ выполнСния Π·Π°Π΄Π°Ρ‡ΠΈ, которая ΠΈ Π·Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½Π° Π² скриптС. Если всС строки написаны ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΈ Ρ†Π΅Π»Π΅Π²Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ удаСтся Π½Π°ΠΉΡ‚ΠΈ, Π·Π°Π΄Π°Ρ‡Π° выполняСтся ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΈ скрипт срабатываСт.

Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ сСйчас Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π½Π° сайтах, Π² качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΌΠΎΠΆΠ½ΠΎ привСсти популярный скриптовый язык – JavaScript. Однако ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΎΠ½ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ»ΠΈΡΡŒ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ синтаксиса ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ.

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ появлСния скриптов

Для ΠΎΠ±Ρ‰Π΅Π³ΠΎ развития ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠΊΡƒΠ½ΡƒΡ‚ΡŒΡΡ Π² ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ появлСния скриптов ΠΈ Π²Π·Π³Π»ΡΠ½ΡƒΡ‚ΡŒ Π½Π° Ρ‚ΠΎ, ΠΊΠ°ΠΊΠΈΠΌΠΈ ΠΎΠ½ΠΈ Π±Ρ‹Π»ΠΈ Ρ€Π°Π½ΡŒΡˆΠ΅. Начали ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈΡ… ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ сСмСйства ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм Unix Π΅Ρ‰Π΅ 50 Π»Π΅Ρ‚ Π½Π°Π·Π°Π΄. Одной ΠΈΠ· ΠΏΠ΅Ρ€Π²Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹Ρ… ΠΎΠ±ΠΎΠ»ΠΎΡ‡Π΅ΠΊ Π±Ρ‹Π»Π° sh, Π² Π½Π΅ΠΉ использовались shell scripts, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ позволяли Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ самыС Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅.

скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π€ΠΎΡ‚ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ

НиТС Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅ нСбольшой ΠΊΠΎΠ΄, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ для конвСртирования изобраТСния ΠΈΠ· JPG Π² PNG:

ΠžΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΡ послС Π·Π½Π°ΠΊΠΎΠ² # ΡΠ²Π»ΡΡŽΡ‚ΡΡ коммСнтариями ΠΈ Π½Π΅ относятся ΠΊ скрипту, ΠΎΠ½ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ дСйствия. Π­Ρ‚ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π±Ρ‹Π» взят ΠΈΠ· ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ всСго нСсколько строк ΠΊΠΎΠ΄Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, смСнив Π΅Π³ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ. БСйчас скрипты ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ массивными ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡ΠΈ Π½Π° ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ слоТнСС.

Π‘Ρ„Π΅Ρ€Ρ‹ использования скриптов

Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π½Π° Π²Π΅Π±-сайтах. Π§Π°Ρ‰Π΅ всСго ΠΎΠ½ΠΈ ΠΏΠΈΡˆΡƒΡ‚ΡΡ Π½Π° языках PHP ΠΈ JavaScript. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для написания Ρ‚ΠΎΠΉ части сайта, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½Π΅ Π²ΠΈΠ΄ΠΈΡ‚ ΠΏΠΎΡΠ΅Ρ‚ΠΈΡ‚Π΅Π»ΡŒ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ бэкСнда, Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° Π²ΠΈΠ·ΡƒΠ°Π», Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ, ΠΏΠ»Π°Π²Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρ‹ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ дСйствия (фронтэнд).

Если с Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ скриптами всС понятно, Ρ‚ΠΎ Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ‹Π΅ для Π³Π»Π°Π·Π° посСтитСля скрипты ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π² Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ заполнСния Ρ„ΠΎΡ€ΠΌ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ слоТныС Π·Π°Π΄Π°Ρ‡ΠΈ.

БоотвСтствСнно, Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС скрипты Ρ‚ΠΎΠΆΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹, Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Π΅ Ρ‡Π΅Ρ€Π΅Π· консоль (ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку), ΠΌΠΎΠ³ΡƒΡ‚ Π²Π»ΠΈΡΡ‚ΡŒ Π½Π° ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ слуТб ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π²Π½ΠΎΡΠΈΡ‚ΡŒ измСнСния Π² систСмныС Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (вирусы Ρ‚Π°ΠΊ ΠΈ ΠΏΠΎΠΏΠ°Π΄Π°ΡŽΡ‚ Π² систСму).

Если Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎ Windows, Ρ‚ΠΎ Π² Π½Π΅ΠΉ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ встроСнный инструмСнт CMD (PowerShell), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для запуска скриптов, хранящихся Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ BAT.

Π‘Π°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ написаниС ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ скриптов

Π Π°Π·Π±Π΅Ρ€Π΅ΠΌ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ написаниС ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ скриптов Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Windows. Допустим, Ρƒ вас стоит Π·Π°Π΄Π°Ρ‡Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ соСдинСния с ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ сайтом Π±Π΅Π· запуска Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Для этого Π΅ΡΡ‚ΡŒ ΠΎΠ΄Π½Π° полСзная ΠΊΠΎΠΌΠ°Π½Π΄Π°, запускаСмая Ρ‡Π΅Ρ€Π΅Π· ΠšΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку. А Ссли Π½ΡƒΠΆΠ½ΠΎ Π΅Ρ‰Π΅ ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΎΡ‚Ρ‡Π΅Ρ‚ ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°Ρ… ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ, Π½Π΅ совсСм ΡƒΠ΄ΠΎΠ±Π½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ нСсколько Ρ€Π°Π·Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ ΠΏΠΎ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ, особСнно Π² Ρ‚Π΅Ρ… случаях, ΠΊΠΎΠ³Π΄Π° Π·Π°Π΄Π°Ρ‡Π° выполняСтся Ρ€Π°Π· Π² нСсколько Π΄Π½Π΅ΠΉ ΠΈΠ»ΠΈ Ρ‡Π°Ρ‰Π΅. Π’ΠΎΠ³Π΄Π° создаСтся BAT-Ρ„Π°ΠΉΠ» с Ρ‚Π°ΠΊΠΈΠΌ содСрТимым:

скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π€ΠΎΡ‚ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой скрипты ΠΈ Π³Π΄Π΅ ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ. ΠŸΡ€ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π°ΠΆΠ΅ самому ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ тСкстовый Ρ„Π°ΠΉΠ» с ΠΊΠΎΠ΄ΠΎΠΌ ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅, Π½ΠΎ для использования скриптов Π² ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… цСлях понадобится Π²Ρ‹ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· скриптовых языков программирования.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Bash-скрипты, Ρ‡Π°ΡΡ‚ΡŒ 10: практичСскиС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

Π’ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°Ρ… ΠΌΡ‹ обсуТдали Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ аспСкты Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ bash-скриптов, Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ ΠΎ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… инструмСнтах, Π½ΠΎ Π΄ΠΎ сих ΠΏΠΎΡ€ рассматривали лишь нСбольшиС Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΊΠΎΠ΄Π°. ΠŸΡ€ΠΈΡˆΠ»ΠΎ врСмя Π±ΠΎΠ»Π΅Π΅ ΠΌΠ°ΡΡˆΡ‚Π°Π±Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ². А ΠΈΠΌΠ΅Π½Π½ΠΎ, здСсь Π²Ρ‹ Π½Π°ΠΉΠ΄Ρ‘Ρ‚Π΅ Π΄Π²Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ β€” скрипт для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ сообщСний, Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ β€” скрипт, выводящий свСдСния ΠΎΠ± использовании дискового пространства.

скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π€ΠΎΡ‚ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ

Главная Ρ†Π΅Π½Π½ΠΎΡΡ‚ΡŒ этих ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ ΠΈΠ·ΡƒΡ‡Π°Π΅Ρ‚ bash, Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Когда ΠΏΠ΅Ρ€Π΅Π΄ программистом встаёт Π·Π°Π΄Π°Ρ‡Π° ΠΏΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‡Π΅Π³ΠΎ Π±Ρ‹ Ρ‚ΠΎ Π½ΠΈ Π±Ρ‹Π»ΠΎ, Π΅Π³ΠΎ ΠΏΡƒΡ‚ΡŒ Ρ€Π΅Π΄ΠΊΠΎ Π±Ρ‹Π²Π°Π΅Ρ‚ прямым ΠΈ быстрым. Π—Π°Π΄Π°Ρ‡Ρƒ Π½Π°Π΄ΠΎ Ρ€Π°Π·Π±ΠΈΡ‚ΡŒ Π½Π° части, Π½Π°ΠΉΡ‚ΠΈ срСдства Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· ΠΏΠΎΠ΄Π·Π°Π΄Π°Ρ‡, Π° ΠΏΠΎΡ‚ΠΎΠΌ ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΠΈΠ· частСй Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅.

скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π€ΠΎΡ‚ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ

ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° сообщСний Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, Π·Π°Π΄Π°Ρ‡Π°: Β«ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ сообщСниС», ΠΏΡ€ΠΈ блиТайшСм рассмотрСнии, оказалась Π·Π°Π΄Π°Ρ‡Π΅ΠΉ: Β«ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ сообщСния, ΠΈ, Ссли Π½Π΅Ρ‚ прСпятствий, ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π΅Π³ΠΎΒ». Займёмся Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ Π·Π°Π΄Π°Ρ‡ΠΈ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ β€” Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ bash-скрипта.

β–ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ who ΠΈ mesg

Π―Π΄Ρ€ΠΎΠΌ скрипта ΡΠ²Π»ΡΡŽΡ‚ΡΡ нСсколько ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ Π΅Ρ‰Ρ‘ Π½Π΅ обсуТдали. Всё ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π²Π°ΠΌ Π·Π½Π°ΠΊΠΎΠΌΠΎ ΠΏΠΎ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΌ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°ΠΌ.

скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π€ΠΎΡ‚ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Π²Ρ‹Π·ΠΎΠ²Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ who

скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π€ΠΎΡ‚ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ

Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²Ρ‹Π²Π΅Π»Π° Β«is yΒ», это Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ, ΠΏΠΎΠ΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ Π² систСмС, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ сообщСния, ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹Π΅ Π² Π΅Π³ΠΎ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π». Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС mesg Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ Β«is nΒ».

ΠŸΡ€ΠΈ этом ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ вошли Π² систСму. Если такая ΠΊΠΎΠΌΠ°Π½Π΄Π°, послС ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ Ρ‡Ρ‘Ρ€Ρ‚ΠΎΡ‡ΠΊΡƒ (-), это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π·Π°ΠΏΡ€Π΅Ρ‚ΠΈΠ» запись Π² свой Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π», Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ, сообщСния Π΅ΠΌΡƒ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ нСльзя. О Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ сообщСния, Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ Π·Π½Π°ΠΊ «плюс» (+).

Если Ρƒ вас ΠΏΡ€ΠΈΡ‘ΠΌ сообщСний ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Ρ‘Π½, Π° Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π²Π°ΠΌ сообщСния, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π€ΠΎΡ‚ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ

Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈΡ‘ΠΌΠ° сообщСний ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ

ПослС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΏΡ€ΠΈΡ‘ΠΌΠ° сообщСний mesg Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Β«is yΒ».
ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, для ΠΎΠ±ΠΌΠ΅Π½Π° сообщСниями Π½ΡƒΠΆΠ½Ρ‹ Π΄Π²Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, поэтому ΠΌΡ‹, послС ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ Π²Ρ…ΠΎΠ΄Π° Π² систСму, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΠΈΡΡŒ ΠΊ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ ΠΏΠΎ ssh. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

β–ΠšΠΎΠΌΠ°Π½Π΄Π° write

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ write ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ сообщСния ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ, вошСдшим Π² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ консоль. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π² графичСском ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΈ (KDE, Gnome, Cinnamon, ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅), Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ сообщСния.

скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π€ΠΎΡ‚ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° возмоТности ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ сообщСний ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° сообщСния

Π’ΠΎΡ‚ Ρ‡Ρ‚ΠΎ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚ Π² своём Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΌΡ‹ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΠ»ΠΈ сообщСниС.

скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π€ΠΎΡ‚ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ

НовоС сообщСниС, ΠΏΡ€ΠΈΡˆΠ΅Π΄ΡˆΠ΅Π΅ Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»

ПолагаСм, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ нас Π΅ΡΡ‚ΡŒ всё Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΡƒ сообщСний с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ сцСнария ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки.

▍БозданиС скрипта для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ сообщСний

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒΡΡ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΎΠΉ сообщСний, Π½ΡƒΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, Π²ΠΎΡˆΡ‘Π» Π»ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‰ΠΈΠΉ нас ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π² систСму. Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ это ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π€ΠΎΡ‚ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° статуса ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

β–ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° возмоТности записи Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π°Π΄ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π»ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ сообщСния. Для этого понадобится такая конструкция, похоТая Π½Π° Ρ‚Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΡ‹ использовали Π²Ρ‹ΡˆΠ΅:

скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π€ΠΎΡ‚ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° возмоТности ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ сообщСний ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ

β–ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π²Ρ‹Π·ΠΎΠ²Π° скрипта

ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ скрипта являСтся имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ сообщСниС. Π’Ρ‚ΠΎΡ€Ρ‹ΠΌ β€” тСкст сообщСния, Π² Π΄Π°Π½Π½ΠΎΠΌ случаС β€” состоящий ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ слова. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ΠΎ Π»ΠΈ скрипту сообщСниС для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ, Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ Ρ‚Π°ΠΊΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ:

скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π€ΠΎΡ‚ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ скрипта

Π’ΡƒΡ‚, Ссли ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ скрипта Π΅ΠΌΡƒ Π½Π΅ Π±Ρ‹Π»ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ΠΎ сообщСниС для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ, ΠΌΡ‹ сообщаСм ΠΎΠ± этом ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Ρƒ. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС β€” ΠΈΠ΄Ρ‘ΠΌ дальшС.

β–ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ свСдСний ΠΎ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ сообщСниС, Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ свСдСния ΠΎ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ имя Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. ДСлаСтся это Ρ‚Π°ΠΊ:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ собраны, ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ лишь ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ сообщСниС:

Π’Ρ‹Π·ΠΎΠ² Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ скрипта выглядит Ρ‚Π°ΠΊ:

скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π€ΠΎΡ‚ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ

УспСшная ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° сообщСния с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ bash-скрипта

Как Π²ΠΈΠ΄Π½ΠΎ, всё Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠ°ΠΊ Π½Π°Π΄ΠΎ. Однако, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚Π°ΠΊΠΎΠ³ΠΎ сцСнария ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ лишь сообщСния, состоящиС ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ слова. Π₯ΠΎΡ€ΠΎΡˆΠΎ Π±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Π΄Π»ΠΈΠ½Π½Ρ‹Π΅ сообщСния.

β–ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° Π΄Π»ΠΈΠ½Π½Ρ‹Ρ… сообщСний

скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π€ΠΎΡ‚ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ

ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ Π΄Π»ΠΈΠ½Π½ΠΎΠ³ΠΎ сообщСния

Π’ΠΎΡ‚ ΠΏΠΎΠ»Π½Ρ‹ΠΉ тСкст сцСнария:

скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π€ΠΎΡ‚ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ

УспСшная ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° Π΄Π»ΠΈΠ½Π½ΠΎΠ³ΠΎ сообщСния:

Π”Π»ΠΈΠ½Π½ΠΎΠ΅ сообщСниС ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ дошло Π΄ΠΎ адрСсата. Π’Π΅ΠΏΠ΅Ρ€ΡŒ рассмотрим ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€.

Π‘ΠΊΡ€ΠΈΠΏΡ‚ для ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° дискового пространства

скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π€ΠΎΡ‚ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ

скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π€ΠΎΡ‚ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ

ΠžΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ список ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²

Π’ Π½Π°Ρ‡Π°Π»Π΅ строки выводится Π΅Ρ‘ Π½ΠΎΠΌΠ΅Ρ€, ΠΏΠΎΡ‚ΠΎΠΌ ΠΈΠ΄Ρ‘Ρ‚ Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅ ΠΈ Π·Π½Π°ΠΊ табуляции, Π΄Π°Π»Π΅Π΅ β€” ΠΎΠ±ΡŠΡ‘ΠΌ дискового пространства, слСдом β€” Π΅Ρ‰Ρ‘ ΠΎΠ΄ΠΈΠ½ Π·Π½Π°ΠΊ табуляции ΠΈ имя ΠΏΠ°ΠΏΠΊΠΈ.

Π‘ΠΎΠ±Π΅Ρ€Ρ‘ΠΌ вмСстС всё Ρ‚ΠΎ, ΠΎ Ρ‡Ρ‘ΠΌ ΠΌΡ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ:

скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π€ΠΎΡ‚ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ

Π’Ρ‹Π²ΠΎΠ΄ свСдСний ΠΎ дисковом пространствС

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ скрипта, ΠΊΠΎΠ΄ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π²Ρ‹ совсСм скоро ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ получСния Π΄Π°Π½Π½Ρ‹Ρ… сразу ΠΏΠΎ нСскольким дирСкториям. Для этого создадим ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ MY_DIRECTORIES ΠΈ внСсём Π² Π½Π΅Ρ‘ список ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‰ΠΈΡ… нас Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΉ:

ΠŸΠ΅Ρ€Π΅Π±Π΅Ρ€Ρ‘ΠΌ список с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ†ΠΈΠΊΠ»Π° for ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ΠΌ Π²Ρ‹ΡˆΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта списка. Π’ΠΎΡ‚ Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅:

скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π€ΠΎΡ‚ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ свСдСний ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… дирСкториях

Π˜Ρ‚ΠΎΠ³ΠΈ

На сСгодня это всё. Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ€Π°Π· ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎΠ± Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°ΠΌΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ expect.

скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π€ΠΎΡ‚ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ

Π£Π²Π°ΠΆΠ°Π΅ΠΌΡ‹Π΅ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΠΈ! Π•ΡΡ‚ΡŒ Π»ΠΈ Ρƒ вас Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ‚Π΅ нСслоТныС (Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈ слоТныС, Π½ΠΎ понятныС) bash-скрипты, Ρ€Π°Π·Π±ΠΎΡ€ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π΅Π½ Π½ΠΎΠ²ΠΈΡ‡ΠΊΠ°ΠΌ?

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π’ любой нСпонятной ситуации β€” пиши скрипты

скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π€ΠΎΡ‚ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ

Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ β€” ΠΎΠ΄ΠΈΠ½ ΠΈΠ· самых распространСнных способов ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΈΠΌ, с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠΎΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ прямо Π½Π° Ρ…ΠΎΠ΄Ρƒ. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ ΠΆΠ΅, Ρƒ этого ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° Π΅ΡΡ‚ΡŒ ΠΈ нСдостатки, Π½ΡƒΠΆΠ½ΠΎ всСгда ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎ баланс ΠΌΠ΅ΠΆΠ΄Ρƒ Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒΡŽ ΠΈ ΡƒΠΏΡ€Π°Π²Π»ΡΠ΅ΠΌΠΎΡΡ‚ΡŒΡŽ. Но Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ Ρ€Π°ΡΡΡƒΠΆΠ΄Π°Ρ‚ΡŒ β€œΠ² общСм” ΠΏΠΎ ΠΏΠΎΠ²ΠΎΠ΄Ρƒ плюсов ΠΈ минусов использования скриптов, ΠΌΡ‹ рассмотрим практичСскиС способы Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ этого ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°, Π° Ρ‚Π°ΠΊΠΆΠ΅ прСдставим Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ, которая прСдоставляСт ΡƒΠ΄ΠΎΠ±Π½ΡƒΡŽ инфраструктуру для добавлСния скриптов Π² прилоТСния, написанныС Π½Π° Spring Framework.

НСсколько Π²Π²ΠΎΠ΄Π½Ρ‹Ρ… слов

Когда хочСтся Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΌΠ΅Π½ΡΡ‚ΡŒ бизнСс-Π»ΠΎΠ³ΠΈΠΊΡƒ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π±Π΅Π· пСрСкомпиляции ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ развСртывания, Ρ‚ΠΎ скрипты β€” ΠΎΠ΄ΠΈΠ½ ΠΈΠ· способов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ Π½Π° ΡƒΠΌ Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ. Π—Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ, скрипты ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ Π½Π΅ ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊ Π±Ρ‹Π»ΠΎ Π·Π°Π΄ΡƒΠΌΠ°Π½ΠΎ, Π° ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ. НапримСр, Π² спСцификации Π΅ΡΡ‚ΡŒ Ρ‡Π°ΡΡ‚ΡŒ Π»ΠΎΠ³ΠΈΠΊΠΈ, которая Π²ΠΎΡ‚ прямо сСйчас Π½Π΅ Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° ясна, Π½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ лишниС ΠΏΠ°Ρ€Ρƒ Π΄Π½Π΅ΠΉ (Π° ΠΈΠ½ΠΎΠ³Π΄Π° ΠΈ дольшС) Π½Π° Π°Π½Π°Π»ΠΈΠ·, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‡ΠΊΡƒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ скрипт β€” Π·Π°Π³Π»ΡƒΡˆΠΊΡƒ. А ΠΏΠΎΡ‚ΠΎΠΌ, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, этот скрипт Π±ΡƒΠ΄Π΅Ρ‚ пСрСписан, ΠΊΠΎΠ³Π΄Π° трСбования прояснятся.

Бпособ Π½Π΅ Π½ΠΎΠ²Ρ‹ΠΉ, ΠΈ Π΅Π³ΠΎ достоинства ΠΈ нСдостатки Ρ…ΠΎΡ€ΠΎΡˆΠΎ извСстны: Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ β€” ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ Π»ΠΎΠ³ΠΈΠΊΡƒ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΈ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ врСмя Π½Π° Ρ€Π΅Π΄Π΅ΠΏΠ»ΠΎΠ΅, Π½ΠΎ, с Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, скрипты слоТнСС Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, ΠΎΡ‚ΡΡŽΠ΄Π° β€” Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒΡŽ, ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΈ Ρ‚.Π΄.

Π’Π΅ ΠΏΡ€ΠΈΠ΅ΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ рассмотрСны Π΄Π°Π»Π΅Π΅, ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ ΠΊΠ°ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ скрипты Π² своСм ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, Ρ‚Π°ΠΊ ΠΈ Ρ‚Π΅ΠΌ, ΠΊΡ‚ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄ΡƒΠΌΠ°Π΅Ρ‚ ΠΎΠ± этом.

НичСго Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ скриптинг

Π‘ JSR-233 скриптинг Π² Java стал ΠΎΡ‡Π΅Π½ΡŒ простым. БущСствуСт достаточноС количСство скриптовых Π΄Π²ΠΈΠΆΠΊΠΎΠ², основанных Π½Π° этом API (Nashorn, JRuby, Jython ΠΈ Π΅Ρ‰Ρ‘ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅), Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ скриптовой ΠΌΠ°Π³ΠΈΠΈ Π² ΠΊΠΎΠ΄ β€” Π½Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°:

ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ, Ссли Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ раскидан ΠΏΠΎ всСму ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ, Ρ‚ΠΎ ΠΎΠ½ΠΎ прСвратится нСпонятно Π²ΠΎ Ρ‡Ρ‚ΠΎ. И, бСзусловно, Ссли Ρƒ вас Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ большС ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π° скрипта, Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ класс для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π½ΠΈΠΌΠΈ. Иногда ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΉΡ‚ΠΈ Π΅Ρ‰Ρ‘ дальшС ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ классы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΠ±ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ Π²Ρ‹Π·ΠΎΠ²Ρ‹ evaluateGroovy() Π² ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Java ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹. Π’ этих ΠΌΠ΅Ρ‚ΠΎΠ΄Π°Ρ… Π±ΡƒΠ΄Π΅Ρ‚ довольно ΠΎΠ΄Π½ΠΎΡ‚ΠΈΠΏΠ½Ρ‹ΠΉ слуТСбный ΠΊΠΎΠ΄, ΠΊΠ°ΠΊ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅:

Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ сильно ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π°Ρ… скриптов ΠΈΠ· ΠΊΠΎΠ΄Π° прилоТСния β€” сразу Π²ΠΈΠ΄Π½ΠΎ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ скрипт ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚, ΠΊΠ°ΠΊΠΎΠ³ΠΎ ΠΎΠ½ΠΈ Ρ‚ΠΈΠΏΠ° ΠΈ Ρ‡Ρ‚ΠΎ возвращаСтся. Π“Π»Π°Π²Π½ΠΎΠ΅ β€” Π½Π΅ Π·Π°Π±Ρ‹Ρ‚ΡŒ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² стандарты написания ΠΊΠΎΠ΄Π° Π·Π°ΠΏΡ€Π΅Ρ‚ Π½Π° Π²Ρ‹Π·ΠΎΠ² скриптов Π½Π΅ ΠΈΠ· Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²!

ΠŸΡ€ΠΎΠΊΠ°Ρ‡ΠΈΠ²Π°Π΅ΠΌ скрипты

НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ скрипты β€” это просто, Ссли Ρƒ вас ΠΈΡ… ΠΌΠ½ΠΎΠ³ΠΎ ΠΈ Π²Ρ‹ ΠΈΡ… интСнсивно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ шанс ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΡ‚ΡŒΡΡ с ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. НапримСр, Ссли ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΡƒΡ‡Π° groovy шаблонов для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ² ΠΈ Π²Ρ‹ ΠΈΡ… запускаСтС Π² ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ ΠΆΠ΅ врСмя, Ρ€Π°Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ·Π΄Π½ΠΎ это станСт ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡƒΠ·ΠΊΠΈΡ… мСст Π² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ прилоТСния.
ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ Π΄Π΅Π»Π°ΡŽΡ‚ Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹Π΅ надстройки Π½Π°Π΄ стандартным API для ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ скорости Ρ€Π°Π±ΠΎΡ‚Ρ‹, ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ, ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° выполнСния, использования Ρ€Π°Π·Π½Ρ‹Ρ… скриптовых языков Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΈ Ρ‚.Π΄.

НапримСр, Π² CUBA Π±Ρ‹Π» сдСлан довольно Ρ…ΠΈΡ‚Ρ€ΠΎΡƒΠΌΠ½Ρ‹ΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ для скриптинга, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ возмоТности, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ:

И Π±Ρ‹Π»ΠΎ Π±Ρ‹ нСсправСдливо Π½Π΅ ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚ΡŒ GraalVM β€” ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΌΠ΅Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… языках (JVM ΠΈ Π½Π΅-JVM) ΠΈ позволяСт Π²ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π² Java прилоТСния ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π½Π° этих языках. Π― надСюсь, Ρ‡Ρ‚ΠΎ Nashorn Ρ€Π°Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ·Π΄Π½ΠΎ ΡƒΠΉΠ΄Π΅Ρ‚ Π² ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ, ΠΈ Ρƒ нас Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΈΡΠ°Ρ‚ΡŒ части ΠΊΠΎΠ΄Π° Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… языках Π² ΠΎΠ΄Π½ΠΎΠΌ исходникС. Но это ΠΏΠΎΠΊΠ° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΌΠ΅Ρ‡Ρ‚Ρ‹.

Spring Framework: ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΎΡ‚ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ слоТно ΠΎΡ‚ΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ?

Π’ Spring Π΅ΡΡ‚ΡŒ встроСнная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° исполнСния скриптов, построСнная Π½Π° Π±Π°Π·Π΅ API JDK. Π’ ΠΏΠ°ΠΊΠ΅Ρ‚Π΅ org.springframework.scripting.* ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… классов β€” всС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹ΠΉ API для скриптинга Π² своСм ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ.

ΠšΡ€ΠΎΠΌΠ΅ этого, Π΅ΡΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ высокоуровнСвая ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ°, ΠΎΠ½Π° ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ описана Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ. Π’ΠΊΡ€Π°Ρ‚Ρ†Π΅ β€” Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ класс Π½Π° скриптовом языкС (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Groovy) ΠΈ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΊΠ°ΠΊ Π±ΠΈΠ½ Ρ‡Π΅Ρ€Π΅Π· XML описаниС:

ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π±ΠΈΠ½ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½, Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π² свои классы ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ IoC. Spring обСспСчиваСт автоматичСскоС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ скрипта ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ тСкста Π² Ρ„Π°ΠΉΠ»Π΅, ΠΌΠΎΠΆΠ½ΠΎ Π²Π΅ΡˆΠ°Ρ‚ΡŒ аспСкты Π½Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ Ρ‚.Π΄.

Выглядит Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎ, Π½ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ β€œΠ½Π°ΡΡ‚ΠΎΡΡ‰ΠΈΠ΅β€ классы для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡ… ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ, ΠΎΠ±Ρ‹Ρ‡Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π² скриптС Π½Π΅ напишСшь. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, скрипты ΠΌΠΎΠΆΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС, для использования Π‘Π” придСтся Π»Π΅Π·Ρ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€ΡŒ Spring. Π”Π° ΠΈ XML ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠ΅ΠΉ, особСнно Ссли Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΡƒΠΆΠ΅ всС Π½Π° аннотациях. Π­Ρ‚ΠΎ, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, вкусовщина, Π½ΠΎ с Π½Π΅ΠΉ Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ приходится ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΡΡ.

Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹: трудности ΠΈ ΠΈΠ΄Π΅ΠΈ

Π˜Ρ‚Π°ΠΊ, Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π΅ΡΡ‚ΡŒ своя Ρ†Π΅Π½Π°, ΠΈ, Ссли Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎ скриптах Π² Java прилоТСниях, Ρ‚ΠΎ ΠΏΡ€ΠΈ Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠΈ этой Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΡ‚ΡŒΡΡ с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ трудностями:

Π’Π΄ΠΎΠ±Π°Π²ΠΎΠΊ ΠΊΠΎ всСму, Ссли ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ скрипт Π±ΡƒΠ΄Π΅Ρ‚ связан Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с ΠΎΠ΄Π½ΠΈΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ, ΠΌΠΎΠΆΠ½ΠΎ быстро Π½Π°ΠΉΡ‚ΠΈ всС Ρ‚ΠΎΡ‡ΠΊΠΈ Π²Ρ‹Π·ΠΎΠ²Π° Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ мСню β€œFind Usages” ΠΈΠ· IDE ΠΈ ΠΏΠΎΠ½ΡΡ‚ΡŒ мСсто скрипта Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ΅ бизнСс-Π»ΠΎΠ³ΠΈΠΊΠΈ.

УпрощаСтся тСстированиС β€” ΠΎΠ½ΠΎ прСвращаСтся Π² β€œΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ΅β€ тСстированиС классов, с использованиСм ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½Ρ‹Ρ… Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ², mock’ами ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΠΌ.

ВсС Π²Ρ‹ΡˆΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠ΅ ΠΎΡ‡Π΅Π½ΡŒ созвучно с ΠΈΠ΄Π΅Π΅ΠΉ, упомянутой Π² Π½Π°Ρ‡Π°Π»Π΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ β€” β€œΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅β€ классы для ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ΡΡ скриптами. А Ρ‡Ρ‚ΠΎ, Ссли ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ ΠΎΠ΄ΠΈΠ½ шаг ΠΈ ΡΠΊΡ€Ρ‹Ρ‚ΡŒ вСсь слуТСбный ΠΎΠ΄Π½ΠΎΡ‚ΠΈΠΏΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ для Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² скриптовых Π΄Π²ΠΈΠΆΠΊΠΎΠ² ΠΎΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ ΠΏΡ€ΠΎ это Π΄Π°ΠΆΠ΅ Π½Π΅ Π΄ΡƒΠΌΠ°Π» (Π½Ρƒ, ΠΏΠΎΡ‡Ρ‚ΠΈ)?

Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ скриптов β€” ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚

Π—Π°Π΄ΡƒΠΌΠΊΠ° довольно проста ΠΈ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Π·Π½Π°ΠΊΠΎΠΌΠ° Ρ‚Π΅ΠΌ, ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‚ΡŒ Ρ€Π°Π· Ρ€Π°Π±ΠΎΡ‚Π°Π» со Spring, особСнно со Spring JPA. Π§Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ β€” ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Java интСрфСйс ΠΈ ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ Π΅Π³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ скрипт. Π’ JPA, кстати, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ β€” Π²Ρ‹Π·ΠΎΠ² CrudRepository пСрСхватываСтся, Π½Π° основС ΠΈΠΌΠ΅Π½ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² создаСтся запрос, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΡ‚ΠΎΠΌ выполняСтся Π΄Π²ΠΈΠΆΠΊΠΎΠΌ Π‘Π”.

Π§Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚?

Для Π½Π°Ρ‡Π°Π»Π° β€” аннотация уровня класса, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π½Π°ΠΉΡ‚ΠΈ интСрфСйс β€” Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π±ΠΈΠ½ Π½Π° Π΅Π³ΠΎ основС.

Π’Π°ΠΊΠΆΠ΅, Π½Π°Π²Π΅Ρ€Π½ΠΎΠ΅, пригодятся Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ Π½Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ этого интСрфСйса для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅, Π½ΡƒΠΆΠ½Ρ‹Π΅ для Π²Ρ‹Π·ΠΎΠ²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π°. НапримСр β€” ΠΎΡ‚ΠΊΡƒΠ΄Π° Π±Ρ€Π°Ρ‚ΡŒ тСкст скрипта ΠΈ ΠΊΠ°ΠΊΠΎΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ.

ΠŸΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ с Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ Π² интСрфСйсС (a.k.a. default) β€” этот ΠΊΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, ΠΏΠΎΠΊΠ° бизнСс-Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊ Π½Π΅ Π²Ρ‹Π²Π΅Π΄Π°Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°, Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π½Π΅ сдСлаСт скрипт Π½Π° основС
этой ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Или ΠΏΡƒΡΡ‚ΡŒ Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊ скрипт ΠΏΠΈΡˆΠ΅Ρ‚, Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΏΠΎΡ‚ΠΎΠΌ просто скопируСт Π΅Π³ΠΎ Π½Π° сСрвСр. Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² ΠΌΠ½ΠΎΠ³ΠΎ πŸ™‚

Π˜Ρ‚Π°ΠΊ, ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ для ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-ΠΌΠ°Π³Π°Π·ΠΈΠ½Π° Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ сСрвис для вычислСния скидок Π½Π° основС профиля ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. ΠŸΡ€ΡΠΌΠΎ сСйчас нСпонятно, ΠΊΠ°ΠΊ это Π΄Π΅Π»Π°Ρ‚ΡŒ, Π½ΠΎ бизнСс-Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊ клянСтся, Ρ‡Ρ‚ΠΎ всСм зарСгистрированным ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ полагаСтся скидка 10%, ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠ½ выяснит Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅Π΄Π΅Π»ΠΈ Ρƒ Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠ°. БСрвис Π½ΡƒΠΆΠ΅Π½ прямо Π·Π°Π²Ρ‚Ρ€Π° β€” сСзон всС-Ρ‚Π°ΠΊΠΈ. Как ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ для Ρ‚Π°ΠΊΠΎΠ³ΠΎ случая?

А ΠΏΠΎΡ‚ΠΎΠΌ подоспССт ΠΈ сам Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, написанный, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π° groovy, Ρ‚Π°ΠΌ скидки Π±ΡƒΠ΄ΡƒΡ‚ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ:

Π’Ρ‹Π·ΠΎΠ² Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΉ, понятный, ΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΅Π³ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, Π½Π΅ Π½Π°Π΄ΠΎ ΠΎΠ±Π»Π°Π΄Π°Ρ‚ΡŒ Π½ΠΈΠΊΠ°ΠΊΠΈΠΌΠΈ особыми Π½Π°Π²Ρ‹ΠΊΠ°ΠΌΠΈ.

Π­Ρ‚ΠΎ Π±Ρ‹Π»ΠΈ ΠΈΠ΄Π΅ΠΈ, Π½Π° основС ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±Ρ‹Π»Π° сдСлана нСбольшая Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со скриптами. Она ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Spring ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, этот Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ использовался для создания Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ. Π’ Π½Π΅ΠΉ прСдоставляСтся Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΡ‹ΠΉ API для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ скриптов ΠΈΠ· Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… источников ΠΈ ΠΈΡ… выполнСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ скрываСт Ρ€ΡƒΡ‚ΠΈΠ½Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ со скриптовыми Π΄Π²ΠΈΠΆΠΊΠ°ΠΌΠΈ.

Как это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚

ΠžΠ±Ρ‰Π΅Π΅ устройство Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅. Π‘ΠΈΠ½ΠΈΠΌ Π²Ρ‹Π΄Π΅Π»Π΅Π½Ρ‹ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, Π±Π΅Π»Ρ‹ΠΌ β€” ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅. Π—Π½Π°Ρ‡ΠΊΠΎΠΌ Spring ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ доступны Π² контСкстС Spring.

скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π€ΠΎΡ‚ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ

Когда вызываСтся ΠΌΠ΅Ρ‚ΠΎΠ΄ интСрфСйса (ΠΏΠΎ Ρ„Π°ΠΊΡ‚Ρƒ β€” прокси-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°), запускаСтся ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π²Ρ‹Π·ΠΎΠ²Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² контСкстС прилоТСния ΠΈΡ‰Π΅Ρ‚ Π΄Π²Π° Π±ΠΈΠ½Π°: ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΊΠ°Ρ‚ΡŒ тСкст скрипта, ΠΈ исполнитСля, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ, собствСнно, Π½Π°ΠΉΠ΄Π΅Π½Π½Ρ‹ΠΉ тСкст Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ. ΠŸΠΎΡ‚ΠΎΠΌ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π²Ρ‹Π·Π²Π°Π²ΡˆΠ΅ΠΌΡƒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ.

МоТно Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ @ScriptParam β€” ΠΎΠ½ΠΈ Π½ΡƒΠΆΠ½Ρ‹ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ ΠΈΡ… Π² скрипт, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Java компилятор стираСт исходныС ΠΈΠΌΠ΅Π½Π° ΠΈΠ· исходников (Π΅ΡΡ‚ΡŒ способы Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ это Π½Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ, Π½ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ Π½Π° это Π½Π΅ ΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒΡΡ). МоТно ΠΈΠΌΠ΅Π½Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΈ Π½Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ, Π½ΠΎ, Π² Ρ‚Π°ΠΊΠΎΠΌ случаС, Π² скриптС Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ β€œarg0”, β€œarg1”, Ρ‡Ρ‚ΠΎ Π½Π΅ сильно ΡƒΠ»ΡƒΡ‡ΡˆΠ°Π΅Ρ‚ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΡΡ‚ΡŒ.

ВСстированиС ΠΈ вСрсионированиС

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ скрипты ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ часто ΠΈ Π»Π΅Π³ΠΊΠΎ, Π½ΡƒΠΆΠ½ΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ способ ΠΊΠ°ΠΊ-Ρ‚ΠΎ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ измСнСния Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π»ΠΎΠΌΠ°ΡŽΡ‚. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° совмСстима с JUnit, Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ просто ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ класс Π² составС ΡŽΠ½ΠΈΡ‚ ΠΈΠ»ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ тСста. Mock Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Ρ‚ΠΎΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ, Π² тСстах ΠΊ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ mock Π½Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ рСпозитория скриптов.

Если Π½ΡƒΠΆΠ½ΠΎ вСрсионированиС, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ вСрсии скриптов ΠΈΠ· Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы, ΠΈΠ· Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ ΠΈΠ· Git, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€. Π’Π°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π»Π΅Π³ΠΊΠΎ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚ΠΊΠ°Ρ‚ Π½Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ скрипта Π² случаС Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊ Π½Π° основном сСрвСрС.

Π˜Ρ‚ΠΎΠ³ΠΎ

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½Π½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ скрипты Π² Spring ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Бисадмину: ПишСм скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ, ΠΊΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π» сисадмином UNIX-систСм, Ρ€Π°Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ·Π΄Π½ΠΎ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ свою Ρ€Π°Π±ΠΎΡ‚Ρƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ скриптов.
Написаны ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π° Ρ‡Ρ‘ΠΌ ΡƒΠ³ΠΎΠ΄Π½ΠΎ β€” ΠΎΡ‚ bash’Π° Π΄ΠΎ tcl. Π’Π°ΠΆΠ΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄.
Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΡŽ Π²ΠΊΡ€Π°Ρ‚Ρ†Π΅ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ΅ΠΌΡ‹ скриптовой Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ.

Когда Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ скрипты?

1. Когда это ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ экономии Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.
Если Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ΄Π½ΠΎΡ‚ΠΈΠΏΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ 1000 свитчСй, Ρ€Π°Π·ΠΎΡΠ»Π°Ρ‚ΡŒ спам ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΡ Π½Π° ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΡŽ ΠΈΠ»ΠΈ ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ Π±Π°Π·Ρƒ MAC-адрСсов β€” скрипты наши Π»ΡƒΡ‡ΡˆΠΈΠ΅ Π΄Ρ€ΡƒΠ·ΡŒΡ.

2. Когда Π½Π΅ΠΊΠΈΠ΅ дСйствия Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ рСгулярно.
Архивирования Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹Ρ… ΠΊΠΎΠΏΠΈΠΉ, очистка mysql-Π±Π°Π·Ρ‹ ΠΎΡ‚ мусора ΠΈΠ»ΠΈ сбор статистики β€” Ρ‚Π΅ самыС случаи.

3. Когда Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ слоТноС, Π½ΠΎ Π»Π΅Π½ΠΈΠ²ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ это Β«ΠΏΠΎ ΡΠ΅Ρ€ΡŒΡ‘Π·Π½ΠΎΠΌΡƒΒ».
ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ β€” ΠΌΠΈΠΊΡ€ΠΎΠ±ΠΈΠ»Π»ΠΈΠ½Π³ΠΈ, счСтчики Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° ΠΈ систСмы Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ½ΠΈΠΊΠΎΠ².
Π­Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π° C/C++. Но Π½Π°Ρ‡Π°Π»ΡŒΡΡ‚Π²ΠΎ сказало: Β«Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ сСгодня!Β». И снова скрипты β€” ΠΈ ΠΌΡ‹ΡΠ»ΡŒ Β«ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡˆΡƒΒ». πŸ™‚

Когда Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ скрипт?

ВсСгда, ΠΊΠΎΠ³Π΄Π° это Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ согласно Ρ‚Ρ€Ρ‘ΠΌ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡƒΠ½ΠΊΡ‚Π°ΠΌ.
Π₯отя Ссли Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ β€” ΠΏΠΈΡˆΠΈΡ‚Π΅. ВрСмя вашС. πŸ™‚

НСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΈΠ· Π»ΠΈΡ‡Π½ΠΎΠΉ ΠΆΠΈΠ·Π½ΠΈ

1. Π‘ΠΊΡ€ΠΈΠΏΡ‚ ΠΏΠΎΡ‡ΠΈΠ½ΠΊΠΈ всСх Ρ‚Π°Π±Π»ΠΈΡ† mysql. Π‘Ρ‚Π°Π²ΠΈΠ» Π½Π° хостинг ΠΏΠΎ ΠΊΡ€ΠΎΠ½Ρƒ β€” сразу ΠΏΡ€ΠΎΠΏΠ°Π»ΠΈ Π·Π²ΠΎΠ½ΠΊΠΈ Π°Π±ΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Π½Π° Ρ‚Π΅ΠΌΡƒ Π½Π΅Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… сайтов Π½Π° mysql. [bash]
скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π€ΠΎΡ‚ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ

2. МассовоС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ Π½Π° свитчах AT-8000S. [perl]

iplist.txt β€” список свитчСй Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ip:login:password
command.txt β€” список ΠΊΠΎΠΌΠ°Π½Π΄.
скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π€ΠΎΡ‚ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ

3. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π΄Π΅ΠΌΠΎΠ½Π° β€” ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ ΠΏΠ°Π΄ΡƒΡ‡ΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.
МоТно ΡƒΠ±Ρ€Π°Ρ‚ΡŒ while ΠΈ Π·Π°ΠΏΠΈΡ…Π½ΡƒΡ‚ΡŒ Π² ΠΊΡ€ΠΎΠ½Ρ‚Π°Π±.
скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π€ΠΎΡ‚ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ. Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ. Π£Π΄Π°Ρ‡ΠΈ. πŸ™‚

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Магия консоли 2. ЗапасаСмся инструмСнтами Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ

скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π€ΠΎΡ‚ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ

НС Ρ‚Π°ΠΊ Π΄Π°Π²Β­Π½ΠΎ ΠΌΡ‹ ΡƒΠΆΠ΅ ΠΏΡƒΠ±Β­Π»ΠΈΠΊΠΎΠ²Π°Β­Π»ΠΈ мою Π±ΠΎΠ»ΡŒΒ­ΡˆΡƒΡŽ ΠΏΠΎΠ΄Β­Π±ΠΎΡ€ΠΊΡƒ Ρ‚ΡƒΠ»Π· для Π°Π²Ρ‚ΠΎΒ­ΠΌΠ°Ρ‚ΠΈΒ­Π·Π°Ρ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹. Π’Π΄ΠΎΡ…Β­Π½ΠΎΠ²ΠΈΠ²Β­ΡˆΠΈΡΡŒ ΠΏΠΎΠ·ΠΈΡ‚ΠΈΠ²Β­Π½Ρ‹ΠΌΠΈ ΠΎΡ‚Π·Ρ‹Β­Π²Π°ΠΌΠΈ, я сно­ва ΠΏΠ΅Ρ€Π΅Ρ€Ρ‹Π» всС загаш­ники ΠΈ ΠΈΠ·Π²Π»Π΅ΠΊ Π΅Ρ‰Π΅ ΠΏΠ°Ρ€Ρƒ дСсят­ков Π³ΠΎΠ΄Β­Π½Ρ‹Ρ… инс­тру­мСн­тов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π΅Π»Π°Β­ΡŽΡ‚ Тизнь при­ятнСС Π² ΠΌΠ΅Π»ΠΎΡ‡Π°Ρ…. НСкото­рыС ΠΈΠ· Π½ΠΈΡ… Π½Π΅ Ρ€Π°Π· Π²Ρ‹Ρ€ΡƒΡ‡Π°Β­Π»ΠΈ мСня, ΠΊΠΎΠ³Β­Π΄Π° Π½ΡƒΠΆΒ­Π½ΠΎ Π±Ρ‹Π»ΠΎ ΡΠ΄Π΅Β­Π»Π°Ρ‚ΡŒ что‑то быс­тро ΠΈ Π½Π΅ изоб­рСтая вСлоси­пСд.

Netfilter

ΠšΠ°ΠΆΒ­Π΄Ρ‹ΠΉ Π°Π΄ΠΌΠΈΠ½ Π² ΠΆΠΈΠ·Β­Π½ΠΈ Π΄ΠΎΠ»Β­ΠΆΠ΅Π½ ΠΏΠΎΡΒ­Ρ‚Ρ€ΠΎΒ­ΠΈΡ‚ΡŒ ΡΠ΅Ρ‚ΡŒ, ΠΎΠ±Ρ€ΡƒΒ­Π³Π°Ρ‚ΡŒ Π±ΡƒΡ…Β­Π³Π°Π»Ρ‚Π΅Β­Ρ€Π° ΠΈ Π½Π°ΡΒ­Ρ‚Ρ€ΠΎΒ­ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΒ­Ρ€Π²ΠΎΠ». Π‘ ΠΏΠ΅Ρ€Β­Π²ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ΠΉ Ρ‚Ρ‹ ΡΠΏΡ€Π°Β­Π²ΠΈΡˆΡŒΒ­ΡΡ сам, вто­рая β€” ΠΏΠΎΠ»Β­Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΠΏΡ†ΠΈΒ­ΠΎΠ½Π°Π»ΡŒΒ­Π½Π°, Π° ΠΌΡ‹ ΠΏΠΎΠ³ΠΎΠ²ΠΎΒ­Ρ€ΠΈΠΌ ΠΎ Ρ„Π°ΠΉΒ­Ρ€Π²ΠΎΒ­Π»Π΅.

Π•ΡΡ‚ΡŒ ΠΏΠΎΠ΄Β­Π΄Π΅Ρ€Β­ΠΆΠΊΠ° Π½Π΅ΡΒ­ΠΊΠΎΠ»ΡŒΒ­ΠΊΠΈΡ… Π°ΠΏΠ»ΠΈΠ½ΠΊΠΎΠ² ΠΈ VPN. А Π΅Ρ‰Π΅ Π°Π²Ρ‚ΠΎΡ€ ΡΠΏΠ΅Β­Ρ†ΠΈΠ°Π»ΡŒΒ­Π½ΠΎ ста­раСт­ся Π΄Π΅Ρ€Β­ΠΆΠ°Ρ‚ΡŒ скрип­ты для iptables ΠΈ nftables мак­сималь­но ΠΏΠΎΡ…ΠΎΠΆΠΈΒ­ΠΌΠΈ, Ρ‡Ρ‚ΠΎΒ­Π±Ρ‹ ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ΡŒ ΠΌΠΈΠ³Β­Ρ€Π°Ρ†ΠΈΡŽ Ρ‚Π΅ΠΌ, ΠΊΡ‚ΠΎ Π΅Ρ‰Π΅ это­го Π½Π΅ сдС­лал.

скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π€ΠΎΡ‚ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈΠ€Ρ€Π°Π³Β­ΠΌΠ΅Π½Ρ‚ скрип­та

adbwebkit

Adbwebkit β€” это Ρ…ΠΎΡ€ΠΎΡˆΠ°Ρ вСб‑мор­да для вза­имо­дСй­ствия с устрой­ством Π½Π° Android ΠΏΠΎ ADB. ΠŸΡ€Π΅Π΄Β­ΡΡ‚Π°Π²Β­Π»ΡΠ΅Ρ‚ собой ΠΏΠ°Ρ‡Β­ΠΊΡƒ скрип­тов Π½Π° PHP, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ пар­сят Π²Ρ‹Π²ΠΎΠ΄ ΡˆΡ‚Π°Ρ‚Β­Π½ΠΎΠ³ΠΎ ΠΊΠ»ΠΈΒ­Π΅Π½Ρ‚Π° ADB Π² сис­тСмС ΠΈ выводят Ρ€Π΅Π·ΡƒΠ»ΡŒΒ­Ρ‚Π°Ρ‚ Π² вСб‑интСрфСйс. МнС ΠΏΡ€ΠΈΒ­Π³ΠΎΠ΄ΠΈΒ­Π»ΠΎΡΡŒ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ‚Π΅Π»Π΅Ρ„ΠΎΒ­Π½ΠΎΠΌ, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΒ­Π³ΠΎ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠ»ΠΎΒ­Ρ…ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π» сСн­сор, Π° дос­туп ΠΊ сис­тСмС Π±Ρ‹Π» Π½ΡƒΠΆΠ΅Π½.

Ус­танов­ка дСла­Стся Π² Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ ΠΊΠΎΠΌΠ°Π½Β­Π΄Ρ‹, Π²ΠΊΠ»ΡŽΒ­Ρ‡Π°Ρ уста­нов­ку зависи­мос­тСй:

Пос­лС это­го вСб‑интСрфСйс ста­нСт дос­тупСн ΠΏΠΎ адрС­су localhost:8000.

скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π€ΠΎΡ‚ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈΠ”Π΅Β­ΠΌΠΎ ΠΈΠ· рСпози­тория ΠΏΡ€ΠΎΒ­Π΅ΠΊΡ‚Π°

Π”Π°ΡˆΠ±ΠΎΡ€Π΄Ρ‹

Cockpit

Cockpit β€” это Π½Π΅ сов­сСм Π΄Π°ΡˆΒ­Π±ΠΎΡ€Π΄. Π­Ρ‚ΠΎ боль­шая Π²Π΅Π±β€‘ΠΊΠΎΠ½Β­ΡΠΎΠ»ΡŒ для управлС­ния сСр­вСром.

Ус­танов­ка мак­сималь­но прос­та:

Π—Π°Β­Ρ‚Π΅ΠΌ Π½ΡƒΠΆΒ­Π½ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΏΠΎΡ€Ρ‚ 9090 Π½Π° Ρ„Π°ΠΉΒ­Ρ€Π²ΠΎΒ­Π»Π΅:

Π”Π°Π»ΡŒΒ­ΡˆΠ΅ ΠΌΠΎΠΆΒ­Π½ΠΎ Π½Π°ΡΒ­Ρ‚Ρ€ΠΎΒ­ΠΈΡ‚ΡŒ дос­туп Ρ‡Π΅Ρ€Π΅Π· рСвСрс‑прок­си nginx ΠΏΠΎ ΠΈΠΌΠ΅Β­Π½ΠΈ хос­та с Π½ΠΎΡ€Β­ΠΌΠ°Π»ΡŒΒ­Π½Ρ‹ΠΌΠΈ SSL-сСр­тифика­тами ΠΈ Π½Π° ΠΏΡ€ΠΈΒ­Π²Ρ‹Ρ‡Β­Π½Ρ‹Ρ… ΠΏΠΎΡ€Β­Ρ‚Π°Ρ….

Пос­лС всСх манипу­ляций Π·Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π½Π° Ρ‚Π²ΠΎΠΉ-хост>: 9090 ΠΈ Π²ΠΈΠ΄ΠΈΠΌ ΠΎΠΊΠ½ΠΎ Π»ΠΎΠ³ΠΈΠ½Π°. Π’ Π½Π΅Π³ΠΎ Π²Π±ΠΈΒ­Π²Π°Π΅ΠΌ имя ΠΏΠΎΠ»ΡŒΒ­Π·ΠΎΠ²Π°Ρ‚Π΅Β­Π»Ρ ΠΈ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ Π΄Π΅ΠΉΒ­ΡΡ‚Π²ΠΈΒ­Ρ‚Π΅Π»ΡŒΒ­Π½ΠΎΠΉ ΡƒΡ‡Π΅Ρ‚Β­Π½ΠΎΠΉ записи Π½Π° сСр­вСрС ΠΈ Π²ΠΈΠ΄ΠΈΠΌ Π΄Π°ΡˆΒ­Π±ΠΎΡ€Π΄.

скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π€ΠΎΡ‚ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈΠ—Π° ΡƒΠΏΠ°Π²Β­ΡˆΠΈΠΉ сСр­вис Π½Π΅ ΠΏΠΈΠ½Π°ΠΉ β€” Ρ‚Π°ΠΊ Π·Π°Π΄ΡƒΠΌΠ°Β­Π½ΠΎ

Cockpit ΡƒΠΌΠ΅Β­Π΅Ρ‚ Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ Π³Ρ€Π°Β­Ρ„ΠΈΠΊΠΈ Π±ΠΎΠ»ΡŒΒ­ΡˆΠΈΠ½ΡΒ­Ρ‚Π²Π° интС­рСс­ных ΠΌΠ΅Ρ‚Β­Ρ€ΠΈΠΊ β€” Π² час­тнос­ти, Π·Π°Π³Β­Ρ€ΡƒΠ·ΠΊΠΈ дис­ка.

скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π€ΠΎΡ‚ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈDisk I/O graph

На Π²ΠΊΠ»Π°Π΄Β­ΠΊΠ΅ Host дос­тупны дСй­ствия с сСр­вСром: уста­нов­ка ΠΎΠ±Π½ΠΎΠ²Π»Π΅Β­Π½ΠΈΠΉ, Ρ€ΡƒΠ»Π΅ΠΆΒ­ΠΊΠ° сСр­висами, ΡƒΠΏΡ€Π°Π²Π»Π΅Β­Π½ΠΈΠ΅ ΠΏΠΈΡ‚Π°Π½ΠΈΒ­Π΅ΠΌ ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.

скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π€ΠΎΡ‚ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ

ΠΠ°Β­Ρ‡ΠΈΠ½Π°Β­ΡŽΡ‰Π΅Β­ΠΌΡƒ Π°Π΄ΠΌΠΈΒ­Π½Ρƒ это ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π΄ΠΎΒ­Ρ€ΠΎΠ²ΠΎ ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ΡŒ Тизнь.

Пом­нишь bashtop ΠΈΠ· ΠΏΡ€ΠΎΡˆΒ­Π»ΠΎΠΉ сСрии? Btop++ β€” это Π΅Π³ΠΎ рСали­зация Π½Π° C++ с ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½Β­Π½ΠΎΠΉ ΠΏΡ€ΠΎΒ­ΠΈΠ·Π²ΠΎΒ­Π΄ΠΈΡ‚Π΅Π»ΡŒΒ­Π½ΠΎΡΡ‚ΡŒΡŽ. Π£ΠΌΠ΅Π½ΡŒΒ­ΡˆΠ΅Π½Β­Π½Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» обновлС­ния Π³Ρ€Π°Β­Ρ„ΠΈΠΊΠΎΠ² Π½Π΅ ΠΏΡ€ΠΈΒ­Π²ΠΎΠ΄ΠΈΡ‚ ΠΊ Π·Π½Π°Β­Ρ‡ΠΈΡ‚Π΅Π»ΡŒΒ­Π½ΠΎΠΌΡƒ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Β­Π½ΠΈΡŽ Π½Π°Π³Β­Ρ€ΡƒΠ·ΠΊΠΈ Π½Π° про­цСс­сор. ΠŸΡ€ΠΈ этом Π΄Π°ΡˆΒ­Π±ΠΎΡ€Π΄ выг­лядит ΡΡ‚ΠΎΠ»ΡŒ ΠΆΠ΅ кра­соч­но ΠΈ эффСк­тно для Π½Π΅ΠΈΡΒ­ΠΊΡƒΡˆΠ΅Π½Β­Π½ΠΎΠ³ΠΎ посСти­тСля Ρ‚Π²ΠΎΒ­Π΅ΠΉ сСр­вСрной!

скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ. Π€ΠΎΡ‚ΠΎ скрипты Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ

ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ доступно Ρ‚ΠΎΠ»ΡŒΠΊΠΎ участникам

ΠœΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹ ΠΈΠ· послСдних выпусков становятся доступны ΠΏΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π΅Ρ€Π΅Π· Π΄Π²Π° мСсяца послС ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΡ‚Π°Ρ‚ΡŒ участником сообщСства Β«Xakep.ruΒ».

ΠŸΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΠΉΡΡ ΠΊ сообщСству Β«Xakep.ruΒ»!

ЧлСнство Π² сообщСствС Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ срока ΠΎΡ‚ΠΊΡ€ΠΎΠ΅Ρ‚ Ρ‚Π΅Π±Π΅ доступ ΠΊΠΎ Π’Π‘Π•Πœ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°ΠΌ Β«Π₯Π°ΠΊΠ΅Ρ€Π°Β», ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΡΠΊΠ°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ выпуски Π² PDF, ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ Ρ€Π΅ΠΊΠ»Π°ΠΌΡƒ Π½Π° сайтС ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ Π»ΠΈΡ‡Π½ΡƒΡŽ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ скидку! ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *