Π Π°Π·Π½ΠΎΠ΅

НаписаниС скриптов: Учимся ΠΏΠΈΡΠ°Ρ‚ΡŒ userscript’Ρ‹ / Π₯Π°Π±Ρ€

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ JavaScript — руководства Π½Π° Skillbox

Если бы для ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π° писали Π‘ΠΈΠ±Π»ΠΈΡŽ, ΠΎΠ½Π° Π½Π°Ρ‡ΠΈΠ½Π°Π»Π°ΡΡŒΒ Π±Ρ‹Β Ρ‚Π°ΠΊ:

Π‘Π½Π°Ρ‡Π°Π»Π°Β Π±Ρ‹Π»Π° ΠΏΠΎΡ‡Ρ‚Π°. Π˜Β ΡƒΠ²ΠΈΠ΄Π΅Π»ΠΈ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Ρ‹, Ρ‡Ρ‚ΠΎ это Ρ…ΠΎΡ€ΠΎΡˆΠΎ. И создали ΠΎΠ½ΠΈ WWW с гипСрссылками. Π˜Β ΡƒΠ²ΠΈΠ΄Π΅Π»ΠΈ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Ρ‹, Ρ‡Ρ‚ΠΎ это Ρ‚ΠΎΠΆΠ΅ Ρ…ΠΎΡ€ΠΎΡˆΠΎ. И создали ΠΎΠ½ΠΈ Ρ‚ΠΎΠ³Π΄Π° язык JavaScript для оТивлСния страничСк.

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

Π”Π°ΠΆΠ΅ сам язык Π²Β ΠΏΠ΅Ρ€Π²ΠΎΠ΅ врСмя назывался LiveScript. ΠŸΠΎΡ‚ΠΎΠΌ Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π»ΠΈ Π²Β JavaScript, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ ΠΊΠ°ΠΊ-Ρ‚ΠΎ ΡƒΠ²ΡΠ·Π°Ρ‚ΡŒ с языком ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния Java. Но сСйчас ΡƒΒ Π½ΠΈΡ… Π½Π΅Ρ‚ практичСски Π½ΠΈΡ‡Π΅Π³ΠΎ ΠΎΠ±Ρ‰Π΅Π³ΠΎ, Π°Β JavaScriptΒ β€” ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ нСзависимый язык программирования со своСй Ρ‡Π΅Ρ‚ΠΊΠΎΠΉ спСцификациСй ECMAScript.

Π€ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ JavaScript являСтся Ρ‚ΠΎΡ€Π³ΠΎΠ²ΠΎΠΉ ΠΌΠ°Ρ€ΠΊΠΎΠΉ Oracle, а этот язык — Β«Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅Β» ECMAScript, наряду с JScript ΠΎΡ‚Β Microsoft ΠΈΒ ActionScript, но это скорСС Π·Π°ΠΌΠΎΡ€ΠΎΡ‡ΠΊΠΈ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π΅Π² Ρ‚ΠΎΡ€Π³ΠΎΠ²Ρ‹Ρ… ΠΌΠ°Ρ€ΠΎΠΊ. Π“Π»Π°Π²Π½ΠΎΠ΅, Ρ‡Ρ‚ΠΎ свободный ECMAScript Π½ΠΈΠΊΠΎΠΌΡƒ Π½Π΅Β ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚.

Π‘ΠΎΒ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ сфСра влияния JavaScript Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΠ»Π°ΡΡŒ. Π•Π³ΠΎ Π½Π°Ρ‡Π°Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅Β Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для скриптов на страницС HTML, но и для ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹Ρ… Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈΒ Ρ†Π΅Π»Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π²Β Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅. Π•ΡΡ‚ΡŒ инструмСнты, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Β«ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Ρ‚ΡŒΒ» эти ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΒ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΈΡ…Β ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚Β Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Π­Ρ‚ΠΎ компиляторы ΠΈΒ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π½Π°Β ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰ΠΈΡ… курсах Β«Java-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΒ» ΠΈΒ Β«Π’Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΒ».

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ JavaScript Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ в любой срСдС, Π³Π΄Π΅ Π΅ΡΡ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€.

Нас ΠΏΠΎΠΊΠ° ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ ΠΈΒ HTML-странички.

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ JavaScript? ΠΠ°ΠΏΠΈΡΠ°Ρ‚ΡŒ элСмСнтарный скрипт нС слоТнСС, Ρ‡Π΅ΠΌ ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ HTML-страничку, вСдь скрипты JavaScript ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ тСкстом, Ρ‚ΠΎΒ Π΅ΡΡ‚ΡŒ ΠΈΡ…Β ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π±ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎ Π²Β Ρ‚ΠΎΠΌΒ ΠΆΠ΅Β Β«Π‘Π»ΠΎΠΊΠ½ΠΎΡ‚Π΅Β», сохраняя ΠΏΠΎΡ‚ΠΎΠΌ Π²Β ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ„Π°ΠΉΠ»Π°Ρ… ΠΈΠ»ΠΈ вставляя Π²Β Ρ‚Π΅Π»ΠΎ HTML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°. Π‘Π°ΠΌΡ‹Π΅ простыС Π²Π΅Ρ‰ΠΈ Π½Π°Β JavaScript Π΄Π΅Π»Π°ΡŽΡ‚ΡΡ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ просто.

Для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° сдСлаСм простой скрипт для выполнСния сСрвСром сцСнариСв Windows. Π­Ρ‚ΠΎΡ‚ скрипт ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ прямо Π²Β Β«Π‘Π»ΠΎΠΊΠ½ΠΎΡ‚Π΅Β» ΠΈΒ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π±Π΅Π· Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°.

WScript.echoΠŸΡ€ΠΈΠ²Π΅Ρ‚, Skillbox!«)

ПишСм этот тСкст Π²Β Β«Π‘Π»ΠΎΠΊΠ½ΠΎΡ‚Π΅Β», Π·Π°Ρ‚Π΅ΠΌ сохраняСм Ρ„Π°ΠΉΠ» ΠΏΠΎΠ΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ skillbox.js и запускаСм Π²Β Β«ΠŸΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠ΅Β» Windows.

Аналогичный скрипт ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ прямо Π²Β ΠΊΠΎΠ΄Π΅ страницы HTML ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‚Π΅Π³Π°ΠΌΠΈ <script> ΠΈ </script>. Π’Π°ΠΌ ΡƒΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ JavaScript, Π°Β Π½Π΅Β ΠΌΠ΅Ρ‚ΠΎΠ΄ echo спСцифичСского ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° WScript. Рассмотрим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ из стандартных ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² для Π²Π²ΠΎΠ΄Π° ΠΈΒ Π²Ρ‹Π²ΠΎΠ΄Π° Π΄Π°Π½Π½Ρ‹Ρ… Π²Β Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅.

ΠœΠ΅Ρ‚ΠΎΠ΄ alert() ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ окошко с кнопкой Β«OKΒ». В окнС выводится сообщСниС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΡƒΠΊΠ°Π·Π°Π½ΠΎ в скобках. НапримСр, Β«ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Skillbox!Β». Π’ΠΎΒ Π΅ΡΡ‚ΡŒ Π²Β Π΄Π°Π½Π½ΠΎΠΌ случаС Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ Π΄Π΅Π»Π°Π΅Ρ‚ Ρ€ΠΎΠ²Π½ΠΎ то ТС самоС, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅Π΄ этим Π΄Π΅Π»Π°Π» сСрвСр сцСнариСв Windows.

Π­Ρ‚ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Ρ‚ΠΎΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π²Β Β«Π‘Π»ΠΎΠΊΠ½ΠΎΡ‚Π΅Β», Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ Π²Β Ρ„Π°ΠΉΠ»Π°Ρ… ΡΒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ HTML. НапримСр, skillbox.htm.

<html>
Β  Β <script>
Β  Β  Β  alertΠŸΡ€ΠΈΠ²Π΅Ρ‚, Skillbox«)
Β  Β </script>
</html>

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

В качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° alert() ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π½Π΅Β Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ тСкст, Π½ΠΎΒ ΠΈΒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ вычислСний ΠΈΠ»ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ…. НапримСр, alert(x), Π³Π΄Π΅ x вычисляСтся ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ.

ΠœΠ΅Ρ‚ΠΎΠ΄ confirm() Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Ρ‚Π°ΠΊΠΎΠ΅Β ΠΆΠ΅Β ΠΎΠΊΠ½ΠΎ с сообщСниСм, Π½ΠΎΒ ΡƒΠΆΠ΅ с двумя ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈΒ β€” «ОК» ΠΈΒ Β«ΠžΡ‚ΠΌΠ΅Π½Π°Β». В зависимости ΠΎΡ‚Β Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΡƒΡŽ ΠΊΠ½ΠΎΠΏΠΊΡƒ Ρ‰Π΅Π»ΠΊΠ½Π΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ, ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚Β Π»ΠΈΠ±ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ true,Β Π»ΠΈΠ±ΠΎ false. Π‘Π΅Ρ€Π²Π΅Ρ€ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ это Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‚Β ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ и выполняСт ΠΊΠ°ΠΊΠΎΠ΅-Ρ‚ΠΎ дСйствиС, в зависимости ΠΎΡ‚Β ΠΎΡ‚Π²Π΅Ρ‚Π°.

Бинтаксис Ρ‚Π°ΠΊΠΎΠΉΒ ΠΆΠ΅, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ здСсь логичСски прСдполагаСтся Π²Ρ‹Π±ΠΎΡ€, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π·Π°Π΄Π°ΡŽΡ‚ вопрос.

<html>
Β  Β <script>
Β  Β  Β  confirm(«ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Skillbox«)
Β  Β </script>
</html>

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

ΠœΠ΅Ρ‚ΠΎΠ΄ prompt() Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ с сообщСниСм и тСкстовым ΠΏΠΎΠ»Π΅ΠΌ, ΠΊΡƒΠ΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Π²ΠΎΠ΄ΠΈΡ‚ Π΄Π°Π½Π½Ρ‹Π΅. Π—Π΄Π΅ΡΡŒ Ρ‚ΠΎΠΆΠ΅ прСдусмотрСны Π΄Π²Π΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ «ОК» ΠΈΒ Β«ΠžΡ‚ΠΌΠ΅Π½Π°Β». ΠŸΠΎΒ Π½Π°ΠΆΠ°Ρ‚ΠΈΡŽ ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ на сСрвСр Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ тСкст, Π°Β ΠΏΠΎΒ Π½Π°ΠΆΠ°Ρ‚ΠΈΡŽ Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ логичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ false.

Бинтаксис здСсь Ρ‚Π°ΠΊΠΎΠΉ:

prompt (сообщСниС, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅_поля_Π²Π²ΠΎΠ΄Π°_Π΄Π°Π½Π½Ρ‹Ρ…)

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ поля Π²Π²ΠΎΠ΄Π° Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ. Π’ΡƒΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΏΠΈΡΠ°Ρ‚ΡŒ тСкст, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π²Π²Π΅Π΄Π΅Π½ Π²Β ΠΏΠΎΠ»Π΅ для удобства ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

Код:

<html>
Β  Β <script>
Β  Β  Β  promptΠŸΠ΅Ρ€Π΅Π΄Π°ΠΉ ΠΏΡ€ΠΈΠ²Π΅Ρ‚ Skillbox«, «ΠŸΡ€ΠΈΠ²Π΅Ρ‚«)
Β  Β </script>
</html>

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

ВозмоТности соврСмСнного JavaScript выходят Π΄Π°Π»Π΅ΠΊΠΎ Π·Π°Β Ρ€Π°ΠΌΠΊΠΈ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° Π΄Π°Π½Π½Ρ‹Ρ… Ρ‡Π΅Ρ€Π΅Π· Ρ„ΠΎΡ€ΠΌΡ‹. Π­Ρ‚ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΌΡ‹Β ΠΏΡ€ΠΈΠ²Π΅Π»ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ в качСствС самых простых ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ². ΠšΡ€ΠΎΠΌΠ΅ этого, JavaScript позволяСт Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ на дСйствия ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. НапримСр, на двиТСния ΠΌΡ‹ΡˆΠΊΠΎΠΉ ΠΈΠ»ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… клавиш. JavaScript часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для обСспСчСния асинхронной Ρ€Π°Π±ΠΎΡ‚Ρ‹ (ВСхнология AJAX), ΠΊΠΎΠ³Π΄Π° информация на страницС обновляСтся Π±Π΅Π· Π΅Π΅Β ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ. В этом Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ на сСрвСр ΠΈΒ Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ΡΡ ΠΎΡ‚Ρ‚ΡƒΠ΄Π° Π²Β ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, JavaScript способСн ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с HTML-элСмСнтами на страницС (ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈΒ ΠΏΡ€ΡΡ‚Π°Ρ‚ΡŒ Ρ‚Π΅Π³ΠΈ ΠΈΒ Ρ‚.Π΄.) ΠΈΒ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅.

Во всСх популярных Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ… Π΅ΡΡ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ консоль Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°. Она ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΊΠΎΠ΄ скриптов на страницС, Π°Β Ρ‚Π°ΠΊΠΆΠ΅ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΠΏΠΎΠ»Π΅Π·Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ. Π’Β Chrome, Firefox ΠΈΒ IE консоль Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° открываСтся ΠΏΠΎΒ Π½Π°ΠΆΠ°Ρ‚ΠΈΡŽ горячСй клавиши F12, Π²Β SafariΒ β€”Β Ctrl+Shift+I ΠΈΠ»ΠΈΒ Ctrl+Alt+C. ΠΠ°Β ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚Π΅ скрипты ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ справа Π²Π²Π΅Ρ€Ρ…Ρƒ, вмСстС с другими элСмСнтами Π²Π΅Π±-страницы.

Консоль Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Π²Β Chrome.

Π’Β Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ΅ΠΌ для ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ программирования понадобится ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΊΠΎΠ΄Π° ΠΈΠ»ΠΈ IDE (IntegratedΒ Development Environment), ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ срСду Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. IDEΒ β€” это Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΡΒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½ с другими ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌΠΈ инструмСнтами, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΈΒ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.

Для Π½Π°Ρ‡Π°Π»Π° ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈΠ·Β Π»Π΅Π³ΠΊΠΈΡ… Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ²:

Π’Β Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ Π΅ΡΡ‚ΡŒ смысл ΠΏΡ€ΠΈΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒΡΡ ΠΊΒ IDE:

Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€Ρ‹ на курсС Β«JavaScript с нуля» ΠΏΠΎΡΠΎΠ²Π΅Ρ‚ΡƒΡŽΡ‚ Π»ΡƒΡ‡ΡˆΠΈΠ΅ инструмСнты ΠΈΒ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ ΡΒ Π»ΡŽΠ±Ρ‹ΠΌΠΈ вопросами. Π­Ρ‚ΠΎ практичСский 4-мСсячный курс для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‡Π΅Ρ‚ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ основам языка сцСнариСв ΡΒ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌ наставником, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄ для ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ Π²Π΅Π±-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈΒ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ кСйс к сСбС Π²Β ΠΏΠΎΡ€Ρ‚Ρ„ΠΎΠ»ΠΈΠΎ.

ΠšΡƒΡ€Ρ идСально ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ‚ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€Π°ΠΌ-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΈΒ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΌ программистам, ΠΊΡ‚ΠΎ ΡƒΠΆΠ΅ Π·Π½Π°ΠΊΠΎΠΌ ΠΈΒ ΡƒΠΌΠ΅Π΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ страницу Π½Π°Β HTML ΠΈΒ CSS, Π½ΠΎΒ Π½Π΅Β Π½Π°ΠΌΠ΅Ρ€Π΅Π½ ΠΎΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π²Β ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠΈ программирования. ΠŸΡ€Π΅ΠΏΠΎΠ΄Π°Π²Π°Ρ‚Π΅Π»ΠΈ практичСски Β«Π½Π° ΠΏΠ°Π»ΡŒΡ†Π°Ρ…Β» ΠΎΠ±ΡŠΡΡΠ½ΡΡ‚ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ основы синтаксиса JavaScript, Π½Π°ΡƒΡ‡Π°Ρ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ элСмСнты ΠΈΒ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π²Π΅Π±-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π½Π°Β JavaScript.

ΠšΡƒΡ€Ρ Β«JavaScript с нуля»

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

  • Живая обратная связь с прСподаватСлями
  • НСограничСнный доступ ΠΊΒ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°ΠΌ курса
  • Π‘Ρ‚Π°ΠΆΠΈΡ€ΠΎΠ²ΠΊΠ° в компаниях-ΠΏΠ°Ρ€Ρ‚Π½Ρ‘Ρ€Π°Ρ…
  • Π”ΠΈΠΏΠ»ΠΎΠΌΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΎΡ‚Β Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠ°
  • Гарантия трудоустройства Π²Β ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ-ΠΏΠ°Ρ€Ρ‚Π½Ρ‘Ρ€Ρ‹ для выпускников, Π·Π°Ρ‰ΠΈΡ‚ΠΈΠ²ΡˆΠΈΡ… Π΄ΠΈΠΏΠ»ΠΎΠΌΠ½Ρ‹Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Π½Π°Ρ‡Π°Π»ΠΎ / Π‘Π»ΠΎΠ³ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ RUVDS.com / Π₯Π°Π±Ρ€

Bash-скрипты: Π½Π°Ρ‡Π°Π»ΠΎ
Bash-скрипты, Ρ‡Π°ΡΡ‚ΡŒ 2: Ρ†ΠΈΠΊΠ»Ρ‹
Bash-скрипты, Ρ‡Π°ΡΡ‚ΡŒ 3: ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΈ ΠΊΠ»ΡŽΡ‡ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки
Bash-скрипты, Ρ‡Π°ΡΡ‚ΡŒ 4: Π²Π²ΠΎΠ΄ ΠΈ Π²Ρ‹Π²ΠΎΠ΄
Bash-скрипты, Ρ‡Π°ΡΡ‚ΡŒ 5: сигналы, Ρ„ΠΎΠ½ΠΎΠ²Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ, ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ сцСнариями
Bash-скрипты, Ρ‡Π°ΡΡ‚ΡŒ 6: Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ
Bash-скрипты, Ρ‡Π°ΡΡ‚ΡŒ 7: sed ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° тСкстов
Bash-скрипты, Ρ‡Π°ΡΡ‚ΡŒ 8: язык ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… awk
Bash-скрипты, Ρ‡Π°ΡΡ‚ΡŒ 9: рСгулярныС выраТСния
Bash-скрипты, Ρ‡Π°ΡΡ‚ΡŒ 10: практичСскиС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹
Bash-скрипты, Ρ‡Π°ΡΡ‚ΡŒ 11: expect ΠΈ автоматизация ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… ΡƒΡ‚ΠΈΠ»ΠΈΡ‚

БСгодня ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ bash-скриптах. Π­Ρ‚ΠΎ β€” сцСнарии ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки, написанныС для ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ bash. Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ β€” zsh, tcsh, ksh, Π½ΠΎ ΠΌΡ‹ сосрСдоточимся Π½Π° bash. Π­Ρ‚ΠΎΡ‚ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для всСх ΠΆΠ΅Π»Π°ΡŽΡ‰ΠΈΡ…, СдинствСнноС условиС β€” ΡƒΠΌΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС Linux.


Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки β€” это Π½Π°Π±ΠΎΡ€Ρ‹ Ρ‚Π΅Ρ… ΠΆΠ΅ самых ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹, собранныС Π² Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Ρ‘Π½Π½Ρ‹Π΅ Π½Π΅ΠΊΠΎΠ΅ΠΉ ΠΎΠ±Ρ‰Π΅ΠΉ Ρ†Π΅Π»ΡŒΡŽ. ΠŸΡ€ΠΈ этом Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π»ΠΈΠ±ΠΎ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Ρ†Π΅Π½Π½ΠΎΡΡ‚ΡŒ, Π»ΠΈΠ±ΠΎ ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ Π²Ρ…ΠΎΠ΄Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ для Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΊΠΎΠΌΠ°Π½Π΄. Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΈ β€” это ΠΌΠΎΡ‰Π½Ρ‹ΠΉ способ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ часто выполняСмых дСйствий.

Π˜Ρ‚Π°ΠΊ, Ссли Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС, ΠΎΠ½Π° позволяСт Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ нСсколько ΠΊΠΎΠΌΠ°Π½Π΄ Π·Π° ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·, ввСдя ΠΈΡ… Ρ‡Π΅Ρ€Π΅Π· Ρ‚ΠΎΡ‡ΠΊΡƒ с запятой:

pwd ; whoami

На самом Π΄Π΅Π»Π΅, Ссли Π²Ρ‹ ΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π»ΠΈ это Π² своём Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅, ваш ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ bash-скрипт, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ задСйствованы Π΄Π²Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΡƒΠΆΠ΅ написан. Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΎΠ½ Ρ‚Π°ΠΊ. Π‘Π½Π°Ρ‡Π°Π»Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° pwd Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π½Π° экран свСдСния ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ, ΠΏΠΎΡ‚ΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π° whoamiΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅, ΠΏΠΎΠ΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π²Ρ‹ вошли Π² систСму.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ²ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ сколько ΡƒΠ³ΠΎΠ΄Π½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ Π² ΠΎΠ΄Π½ΠΎΠΉ строкС, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ β€” лишь Π² максимальном количСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ это ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

getconf ARG_MAX

Командная строка β€” ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ инструмСнт, Π½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² Π½Π΅Ρ‘ приходится Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Π² Π½ΠΈΡ… Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ. Π§Ρ‚ΠΎ Ссли Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠΌΠ°Π½Π΄ Π² Ρ„Π°ΠΉΠ» ΠΈ просто Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ этот Ρ„Π°ΠΉΠ» для ΠΈΡ… выполнСния? БобствСнно говоря, Ρ‚ΠΎΡ‚ Ρ„Π°ΠΉΠ», ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΡ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ, ΠΈ называСтся сцСнариСм ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки.

Как устроСны bash-скрипты

Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ пустой Ρ„Π°ΠΉΠ» с использованиСм ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ touch. Π’ Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠΉ строкС Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΡƒΡŽ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΡƒ ΠΌΡ‹ собираСмся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Нас интСрСсуСт bash, поэтому пСрвая строка Ρ„Π°ΠΉΠ»Π° Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Π°ΠΊΠΎΠΉ:

#!/bin/bash

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

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ ΠΎΡ‚Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π·Π½Π°ΠΊΠΎΠΌ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° строки, ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ Π²Ρ‹Π΄Π΅Π»ΡΡŽΡ‚ Π·Π½Π°ΠΊΠΎΠΌ Ρ€Π΅ΡˆΡ‘Ρ‚ΠΊΠΈ. Π’ΠΎΡ‚ ΠΊΠ°ΠΊ это выглядит:

#!/bin/bash
# This is a comment
pwd
whoami

Π’ΡƒΡ‚, Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² ΠΎΠ΄Π½ΠΎΠΉ строкС, раздСляя Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ с запятой. Однако, Ссли ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… строках, Ρ„Π°ΠΉΠ» Π»Π΅Π³Ρ‡Π΅ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ. Π’ любом случаС ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° ΠΈΡ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.

Установка Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ для Ρ„Π°ΠΉΠ»Π° сцСнария

Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ», Π΄Π°Π² Π΅ΠΌΡƒ имя myscript, ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ созданию bash-скрипта ΠΏΠΎΡ‡Ρ‚ΠΈ Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½Π°. БСйчас ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ лишь ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ этот Ρ„Π°ΠΉΠ» исполняСмым, ΠΈΠ½Π°Ρ‡Π΅, ΠΏΠΎΠΏΡ‹Ρ‚Π°Π²ΡˆΠΈΡΡŒ Π΅Π³ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ, Π²Ρ‹ ΡΡ‚ΠΎΠ»ΠΊΠ½Ρ‘Ρ‚Π΅ΡΡŒ с ошибкой Permission denied.
ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° запуска Ρ„Π°ΠΉΠ»Π° сцСнария с Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ настроСнными Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΠΌΠΈ

Π‘Π΄Π΅Π»Π°Π΅ΠΌ Ρ„Π°ΠΉΠ» исполняСмым:

chmod +x ./myscript

Π’Π΅ΠΏΠ΅Ρ€ΡŒ попытаСмся Π΅Π³ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ:

./myscript

ПослС настройки Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ всё Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠ°ΠΊ Π½Π°Π΄ΠΎ.
Π£ΡΠΏΠ΅ΡˆΠ½Ρ‹ΠΉ запуск bash-скрипта

Π’Ρ‹Π²ΠΎΠ΄ сообщСний

Для Π²Ρ‹Π²ΠΎΠ΄Π° тСкста Π² консоль Linux примСняСтся ΠΊΠΎΠΌΠ°Π½Π΄Π° echo. Π’ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ Π·Π½Π°Π½ΠΈΠ΅ΠΌ этого Ρ„Π°ΠΊΡ‚Π° ΠΈ ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠ΅ΠΌ наш скрипт, Π΄ΠΎΠ±Π°Π²ΠΈΠ² пояснСния ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ выводят ΡƒΠΆΠ΅ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ΡΡ Π² Π½Ρ‘ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

#!/bin/bash
# our comment is here
echo "The current directory is:"
pwd
echo "The user logged in is:"
whoami

Π’ΠΎΡ‚ Ρ‡Ρ‚ΠΎ получится послС запуска ΠΎΠ±Π½ΠΎΠ²Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ скрипта.
Π’Ρ‹Π²ΠΎΠ΄ сообщСний ΠΈΠ· скрипта

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΠΎΡΡΠ½ΡΡŽΡ‰ΠΈΠ΅ надписи, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ echo. Если Π²Ρ‹ Π½Π΅ Π·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ», ΠΏΠΎΠ»ΡŒΠ·ΡƒΡΡΡŒ срСдствами Linux, ΠΈΠ»ΠΈ Ρ€Π°Π½ΡŒΡˆΠ΅ Π½Π΅ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°Π»ΠΈΡΡŒ с ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ echo, взглянитС Π½Π° этот ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π».

ИспользованиС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² Ρ„Π°ΠΉΠ»Π΅ сцСнария ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ β€” Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄ для использования ΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ.

НСт Π½ΠΈΡ‡Π΅Π³ΠΎ ΠΏΠ»ΠΎΡ…ΠΎΠ³ΠΎ Π² исполнСнии ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ Π±Π΅Π· хранСния Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² ΠΈΡ… Ρ€Π°Π±ΠΎΡ‚Ρ‹, Π½ΠΎ возмоТности Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° вСсьма ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Ρ‹.

Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π΄Π²Π° Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² bash-скриптах:

  • ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ срСды
  • ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ срСды

Иногда Π² ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ… ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π½Π΅ΠΊΠΈΠΌΠΈ систСмными Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. Π’ΠΎΡ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠ°ΠΊ вывСсти домашнюю Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ:

#!/bin/bash
# display user home
echo "Home for the current user is: $HOME"

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΈΡΡ‚Π΅ΠΌΠ½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ $HOME Π² Π΄Π²ΠΎΠΉΠ½Ρ‹Ρ… ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°Ρ…, это Π½Π΅ ΠΏΠΎΠΌΠ΅ΡˆΠ°Π΅Ρ‚ систСмС Π΅Ρ‘ Ρ€Π°ΡΠΏΠΎΠ·Π½Π°Ρ‚ΡŒ. Π’ΠΎΡ‚ Ρ‡Ρ‚ΠΎ получится, Ссли Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π²Ρ‹ΡˆΠ΅ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½Ρ‹ΠΉ сцСнарий.
ИспользованиС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ срСды Π² сцСнарии

А Ρ‡Ρ‚ΠΎ Ссли Π½Π°Π΄ΠΎ вывСсти Π½Π° экран Π·Π½Π°Ρ‡ΠΎΠΊ Π΄ΠΎΠ»Π»Π°Ρ€Π°? ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ Ρ‚Π°ΠΊ:

echo "I have $1 in my pocket"

БистСма ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ Π·Π½Π°ΠΊ Π΄ΠΎΠ»Π»Π°Ρ€Π° Π² строкС, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠΉ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°ΠΌΠΈ, ΠΈ Ρ€Π΅ΡˆΠΈΡ‚, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ сослались Π½Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ. Π‘ΠΊΡ€ΠΈΠΏΡ‚ попытаСтся вывСсти Π½Π° экран Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ $1. Π­Ρ‚ΠΎ Π½Π΅ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ. Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ?

Π’ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ ситуации ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ использованиС ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅Π³ΠΎ символа, ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ косой Ρ‡Π΅Ρ€Ρ‚Ρ‹, ΠΏΠ΅Ρ€Π΅Π΄ Π·Π½Π°ΠΊΠΎΠΌ Π΄ΠΎΠ»Π»Π°Ρ€Π°:

echo "I have \$1 in my pocket"

Π’Π΅ΠΏΠ΅Ρ€ΡŒ сцСнарий Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ оТидаСтся.
ИспользованиС ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ для Π²Ρ‹Π²ΠΎΠ΄Π° Π·Π½Π°ΠΊΠ° Π΄ΠΎΠ»Π»Π°Ρ€Π°

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅

Π’ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ срСды, bash-скрипты ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² сцСнарии собствСнныС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅. ΠŸΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ хранят Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡΡ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ сцСнария.

Как ΠΈ Π² случаС с систСмными ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ, ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π·Π½Π°ΠΊ Π΄ΠΎΠ»Π»Π°Ρ€Π°:
TNW-CUS-FMP β€” ΠΏΡ€ΠΎΠΌΠΎ-ΠΊΠΎΠ΄ Π½Π° 10% скидку Π½Π° наши услуги, доступСн для Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ 7 Π΄Π½Π΅ΠΉ

#!/bin/bash
# testing variables
grade=5
person="Adam"
echo "$person is a good boy, he is in grade $grade"

Π’ΠΎΡ‚ Ρ‡Ρ‚ΠΎ получится послС запуска Ρ‚Π°ΠΊΠΎΠ³ΠΎ сцСнария.
ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² сцСнарии

ΠŸΠΎΠ΄ΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° ΠΊΠΎΠΌΠ°Π½Π΄

Одна ΠΈΠ· самых ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… возмоТностСй bash-скриптов β€” это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈΠ· Π²Ρ‹Π²ΠΎΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ Π½Π°Π·Π½Π°Ρ‡Π°Ρ‚ΡŒ Π΅Ρ‘ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ, Ρ‡Ρ‚ΠΎ позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эту ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π³Π΄Π΅ ΡƒΠ³ΠΎΠ΄Π½ΠΎ Π² Ρ„Π°ΠΉΠ»Π΅ сцСнария.

Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ это ΠΌΠΎΠΆΠ½ΠΎ двумя способами.

  • Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π·Π½Π°Ρ‡ΠΊΠ° ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ апострофа Β«`Β»
  • Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ конструкции $()

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄, прослСдитС Π·Π° Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ вмСсто ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ апострофа Π½Π΅ ввСсти ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π½ΡƒΡŽ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΡƒ. ΠšΠΎΠΌΠ°Π½Π΄Ρƒ Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π² Π΄Π²Π° Ρ‚Π°ΠΊΠΈΡ… Π·Π½Π°Ρ‡ΠΊΠ°:

mydir=`pwd`

ΠŸΡ€ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π΅ Ρ‚ΠΎ ΠΆΠ΅ самоС Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ Ρ‚Π°ΠΊ:

mydir=$(pwd)

А скрипт, Π² ΠΈΡ‚ΠΎΠ³Π΅, ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

#!/bin/bash
mydir=$(pwd)
echo $mydir

Π’ Ρ…ΠΎΠ΄Π΅ Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π²Ρ‹Π²ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ pwdΠ±ΡƒΠ΄Π΅Ρ‚ сохранён Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ mydir, содСрТимоС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ echo, ΠΏΠΎΠΏΠ°Π΄Ρ‘Ρ‚ Π² консоль.
Π‘ΠΊΡ€ΠΈΠΏΡ‚, ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‰ΠΈΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ

ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ

Для выполнСния матСматичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π² Ρ„Π°ΠΉΠ»Π΅ скрипта ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ Π²ΠΈΠ΄Π° $((a+b)):

#!/bin/bash
var1=$(( 5 + 5 ))
echo $var1
var2=$(( $var1 * 2 ))
echo $var2

ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π² сцСнарии

Π£ΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π°Ρ конструкция if-then

Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… сцСнариях трСбуСтся ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠΌ исполнСния ΠΊΠΎΠΌΠ°Π½Π΄. НапримСр, Ссли Π½Π΅ΠΊΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ большС пяти, Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΎΠ΄Π½ΠΎ дСйствиС, Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС β€” Π΄Ρ€ΡƒΠ³ΠΎΠ΅. ПодобноС ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΠΎ Π² ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΈΡ… ситуациях, ΠΈ здСсь Π½Π°ΠΌ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π°Ρ конструкция if-then. Π’ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ простом Π²ΠΈΠ΄Π΅ ΠΎΠ½Π° выглядит Ρ‚Π°ΠΊ:

if ΠΊΠΎΠΌΠ°Π½Π΄Π°
then
ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹
fi

А Π²ΠΎΡ‚ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

#!/bin/bash
if pwd
then
echo "It works"
fi

Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС, Ссли Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ pwdΠ·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡΡ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ, Π² консоль Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½ тСкст Β«it worksΒ».

Π’ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΌΠΈΡΡ Ρƒ нас знаниями ΠΈ напишСм Π±ΠΎΠ»Π΅Π΅ слоТный сцСнарий. Π‘ΠΊΠ°ΠΆΠ΅ΠΌ, Π½Π°Π΄ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π½Π΅ΠΊΠΎΠ΅Π³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π² /etc/passwd, ΠΈ Ссли Π½Π°ΠΉΡ‚ΠΈ Π΅Π³ΠΎ ΡƒΠ΄Π°Π»ΠΎΡΡŒ, ΡΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ сущСствуСт.

#!/bin/bash
user=likegeeks
if grep $user /etc/passwd
then
echo "The user $user Exists"
fi

Π’ΠΎΡ‚ Ρ‡Ρ‚ΠΎ получаСтся послС запуска этого скрипта.
Поиск ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ воспользовались ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ grepдля поиска ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π² Ρ„Π°ΠΉΠ»Π΅ /etc/passwd. Если ΠΊΠΎΠΌΠ°Π½Π΄Π° grepΠ²Π°ΠΌ Π½Π΅Π·Π½Π°ΠΊΠΎΠΌΠ°, Π΅Ρ‘ описаниС ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ здСсь.

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π°ΠΉΠ΄Π΅Π½, скрипт Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ сообщСниС. А Ссли Π½Π°ΠΉΡ‚ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ? Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС скрипт просто Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π°ΠΌ Π½Π΅ сообщив. Π₯ΠΎΡ‚Π΅Π»ΠΎΡΡŒ Π±Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ сказал Π½Π°ΠΌ ΠΈ ΠΎΠ± этом, поэтому ΡƒΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΡƒΠ΅ΠΌ ΠΊΠΎΠ΄.

Π£ΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π°Ρ конструкция if-then-else

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° смогла ΡΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ ΠΈ ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°Ρ… ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ³ΠΎ поиска, ΠΈ ΠΎ Π½Π΅ΡƒΠ΄Π°Ρ‡Π΅, Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ конструкциСй if-then-else. Π’ΠΎΡ‚ ΠΊΠ°ΠΊ ΠΎΠ½Π° устроСна:

if ΠΊΠΎΠΌΠ°Π½Π΄Π°
then
ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹
else
ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹
fi

Если пСрвая ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ΠΈΡ‚ ноль, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π΅Ρ‘ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, условиС окаТСтся истинным ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π΅ ΠΏΠΎΠΉΠ΄Ρ‘Ρ‚ ΠΏΠΎ Π²Π΅Ρ‚ΠΊΠ΅ else. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС, Ссли Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½ΠΎ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ, ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‰Π΅Π΅ΡΡ ΠΎΡ‚ нуля, Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒ Π½Π΅ΡƒΠ΄Π°Ρ‡Ρƒ, ΠΈΠ»ΠΈ Π»ΠΎΠΆΠ½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, располоТСнныС послС else.

НапишСм Ρ‚Π°ΠΊΠΎΠΉ скрипт:

#!/bin/bash
user=anotherUser
if grep $user /etc/passwd
then
echo "The user $user Exists"
else
echo "The user $user doesn’t exist"
fi

Π•Π³ΠΎ исполнСниС пошло ΠΏΠΎ Π²Π΅Ρ‚ΠΊΠ΅ else.
Запуск скрипта с конструкциСй if-then-else

Ну Ρ‡Ρ‚ΠΎ ΠΆΠ΅, ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ дальшС ΠΈ зададимся вопросом ΠΎ Π±ΠΎΠ»Π΅Π΅ слоТных условиях. Π§Ρ‚ΠΎ Ссли Π½Π°Π΄ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π½Π΅ ΠΎΠ΄Π½ΠΎ условиС, Π° нСсколько? НапримСр, Ссли Π½ΡƒΠΆΠ½Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π°ΠΉΠ΄Π΅Π½, Π½Π°Π΄ΠΎ вывСсти ΠΎΠ΄Π½ΠΎ сообщСниС, Ссли выполняСтся Π΅Ρ‰Ρ‘ ΠΊΠ°ΠΊΠΎΠ΅-Ρ‚ΠΎ условиС β€” Π΅Ρ‰Ρ‘ ΠΎΠ΄Π½ΠΎ сообщСниС, ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. Π’ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ ситуации Π½Π°ΠΌ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ условия. Выглядит это Ρ‚Π°ΠΊ:

if ΠΊΠΎΠΌΠ°Π½Π΄Π°1
then
ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹
elif ΠΊΠΎΠΌΠ°Π½Π΄Π°2
then
ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹
fi

Если пСрвая ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²Π΅Ρ€Π½Ρ‘Ρ‚ ноль, Ρ‡Ρ‚ΠΎ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΎ Π΅Ρ‘ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ, выполнятся ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ Π±Π»ΠΎΠΊΠ΅ then, ΠΈΠ½Π°Ρ‡Π΅, Ссли ΠΏΠ΅Ρ€Π²ΠΎΠ΅ условиС окаТСтся Π»ΠΎΠΆΠ½Ρ‹ΠΌ, ΠΈ Ссли вторая ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²Π΅Ρ€Π½Ρ‘Ρ‚ ноль, выполнится Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π°.

#!/bin/bash
user=anotherUser
if grep $user /etc/passwd
then
echo "The user $user Exists"
elif ls /home
then
echo "The user doesn’t exist but anyway there is a directory under /home"
fi

Π’ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΌ скриптС ΠΌΠΎΠΆΠ½ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ useradd, Ссли поиск Π½Π΅ Π΄Π°Π» Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ², ΠΈΠ»ΠΈ Π΄Π΅Π»Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ΅.

Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ чисСл

Π’ скриптах ΠΌΠΎΠΆΠ½ΠΎ ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ числовыС значСния. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½ список ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΊΠΎΠΌΠ°Π½Π΄.

n1 -eq n2Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ истинноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ссли n1 Ρ€Π°Π²Π½ΠΎ n2.
n1 -ge n2 Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ истинноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ссли n1большС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎ n2.
n1 -gt n2Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ истинноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ссли n1 большС n2.
n1 -le n2Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ истинноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ссли n1мСньшС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎ n2.
n1 -lt n2Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ истинноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ссли n1 мСньшС n2.
n1 -ne n2Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ истинноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ссли n1Π½Π΅ Ρ€Π°Π²Π½ΠΎ n2.

Π’ качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² сравнСния. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки.

#!/bin/bash
val1=6
if [ $val1 -gt 5 ]
then
echo "The test value $val1 is greater than 5"
else
echo "The test value $val1 is not greater than 5"
fi

Π’ΠΎΡ‚ Ρ‡Ρ‚ΠΎ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ эта ΠΊΠΎΠΌΠ°Π½Π΄Π°.
Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ чисСл Π² скриптах

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ val1большС Ρ‡Π΅ΠΌ 5, Π² ΠΈΡ‚ΠΎΠ³Π΅ выполняСтся Π²Π΅Ρ‚Π²ΡŒ thenΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° сравнСния ΠΈ Π² консоль выводится ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ сообщСниС.

Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ строк

Π’ сцСнариях ΠΌΠΎΠΆΠ½ΠΎ ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ ΠΈ строковыС значСния. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ сравнСния выглядят довольно просто, ΠΎΠ΄Π½Π°ΠΊΠΎ Ρƒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ сравнСния строк Π΅ΡΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Π΅ особСнности, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΡ‹ коснёмся Π½ΠΈΠΆΠ΅. Π’ΠΎΡ‚ список ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ².

str1 = str2 ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚ строки Π½Π° равСнство, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ истину, Ссли строки ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Ρ‹.

str1 != str2Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ истину, Ссли строки Π½Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Ρ‹.
str1 < str2Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ истину, Ссли str1мСньшС, Ρ‡Π΅ΠΌ str2.
str1 > str2 Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ истину, Ссли str1большС, Ρ‡Π΅ΠΌ str2.
-n str1 Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ истину, Ссли Π΄Π»ΠΈΠ½Π° str1большС нуля.
-z str1Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ истину, Ссли Π΄Π»ΠΈΠ½Π° str1Ρ€Π°Π²Π½Π° Π½ΡƒΠ»ΡŽ.

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ сравнСния строк Π² сцСнарии:

#!/bin/bash
user ="likegeeks"
if [$user = $USER]
then
echo "The user $user Β is the current logged in user"
fi

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ выполнСния скрипта ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅.
Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ строк Π² скриптах

Π’ΠΎΡ‚ ΠΎΠ΄Π½Π° ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ сравнСния строк, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ стоит ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚ΡŒ. А ΠΈΠΌΠ΅Π½Π½ΠΎ, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Β«>Β» ΠΈ Β«<Β» Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΡ€Π°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ косой Ρ‡Π΅Ρ€Ρ‚Ρ‹, ΠΈΠ½Π°Ρ‡Π΅ скрипт Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, хотя сообщСний ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… ΠΈ Π½Π΅ появится. Π‘ΠΊΡ€ΠΈΠΏΡ‚ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Π·Π½Π°ΠΊ Β«>Β» ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ пСрСнаправлСния Π²Ρ‹Π²ΠΎΠ΄Π°.

Π’ΠΎΡ‚ ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π° с этими ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ выглядит Π² ΠΊΠΎΠ΄Π΅:

#!/bin/bash
val1=text
val2="another text"
if [ $val1 \> $val2 ]
then
echo "$val1 is greater than $val2"
else
echo "$val1 is less than $val2"
fi

Π’ΠΎΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ скрипта.
Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ строк, Π²Ρ‹Π²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ скрипт, хотя ΠΈ выполняСтся, Π²Ρ‹Π΄Π°Ρ‘Ρ‚ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅:

./myscript: line 5: [: too many arguments

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ этого прСдупрСТдСния, Π·Π°ΠΊΠ»ΡŽΡ‡ΠΈΠΌ $val2 Π² Π΄Π²ΠΎΠΉΠ½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ:

#!/bin/bash
val1=text
val2="another text"
if [ $val1 \> "$val2" ]
then
echo "$val1 is greater than $val2"
else
echo "$val1 is less than $val2"
fi

Π’Π΅ΠΏΠ΅Ρ€ΡŒ всё Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠ°ΠΊ Π½Π°Π΄ΠΎ.
Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ строк

Π•Ρ‰Ρ‘ ΠΎΠ΄Π½Π° ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² Β«>Β» ΠΈ Β«<Β» Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ с символами Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ ΠΈ Π½ΠΈΠΆΠ½Π΅ΠΌ рСгистрах. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ эту ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ, ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΠΌ тСкстовый Ρ„Π°ΠΉΠ» с Ρ‚Π°ΠΊΠΈΠΌ содСрТимым:

Likegeeks
likegeeks

Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΠΌ Π΅Π³ΠΎ, Π΄Π°Π² имя myfile, послС Ρ‡Π΅Π³ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠΌ Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅ Ρ‚Π°ΠΊΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

sort myfile

Она отсортируСт строки ΠΈΠ· Ρ„Π°ΠΉΠ»Π° Ρ‚Π°ΠΊ:

likegeeks
Likegeeks

Команда sort, ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, сортируСт строки ΠΏΠΎ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°Π½ΠΈΡŽ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ строчная Π±ΡƒΠΊΠ²Π° Π² нашСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ мСньшС прописной. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΠΌ скрипт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ Ρ‚Π΅ ΠΆΠ΅ строки:

#!/bin/bash
val1=Likegeeks
val2=likegeeks
if [ $val1 \> $val2 ]
then
echo "$val1 is greater than $val2"
else
echo "$val1 is less than $val2"
fi

Если Π΅Π³ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ, окаТСтся, Ρ‡Ρ‚ΠΎ всё Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚ β€” строчная Π±ΡƒΠΊΠ²Π° Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ большС прописной.
Команда sort ΠΈ сравнСниС строк Π² Ρ„Π°ΠΉΠ»Π΅ сцСнария

Π’ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ… сравнСния прописныС Π±ΡƒΠΊΠ²Ρ‹ мСньшС строчных. Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ строк здСсь выполняСтся ΠΏΡƒΡ‚Ρ‘ΠΌ сравнСния ASCII-ΠΊΠΎΠ΄ΠΎΠ² символов, порядок сортировки, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, зависит ΠΎΡ‚ ΠΊΠΎΠ΄ΠΎΠ² символов.

Команда sort, Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ порядок сортировки, Π·Π°Π΄Π°Π½Π½Ρ‹ΠΉ Π² настройках систСмного языка.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²

ΠŸΠΎΠΆΠ°Π»ΡƒΠΉ, Π½ΠΈΠΆΠ΅ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² bash-скриптах Ρ‡Π°Ρ‰Π΅ всСго. Они ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ условия, ΠΊΠ°ΡΠ°ΡŽΡ‰ΠΈΠ΅ΡΡ Ρ„Π°ΠΉΠ»ΠΎΠ². Π’ΠΎΡ‚ список этих ΠΊΠΎΠΌΠ°Π½Π΄.

-d fileΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚, сущСствуСт Π»ΠΈ Ρ„Π°ΠΉΠ», ΠΈ являСтся Π»ΠΈ ΠΎΠ½ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠ΅ΠΉ.
-e fileΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚, сущСствуСт Π»ΠΈ Ρ„Π°ΠΉΠ».
-f file ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚, сущСствуСт Π»ΠΈ Ρ„Π°ΠΉΠ», ΠΈ являСтся Π»ΠΈ ΠΎΠ½ Ρ„Π°ΠΉΠ»ΠΎΠΌ.
-r fileΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚, сущСствуСт Π»ΠΈ Ρ„Π°ΠΉΠ», ΠΈ доступСн Π»ΠΈ ΠΎΠ½ для чтСния.
-s file ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚, сущСствуСт Π»ΠΈ Ρ„Π°ΠΉΠ», ΠΈ Π½Π΅ являСтся Π»ΠΈ ΠΎΠ½ пустым.
-w fileΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚, сущСствуСт Π»ΠΈ Ρ„Π°ΠΉΠ», ΠΈ доступСн Π»ΠΈ ΠΎΠ½ для записи.
-x fileΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚, сущСствуСт Π»ΠΈ Ρ„Π°ΠΉΠ», ΠΈ являСтся Π»ΠΈ ΠΎΠ½ исполняСмым.
file1 -nt file2 ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚, Π½ΠΎΠ²Π΅Π΅ Π»ΠΈ file1, Ρ‡Π΅ΠΌ file2.
file1 -ot file2ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚, ΡΡ‚Π°Ρ€ΡˆΠ΅ Π»ΠΈ file1, Ρ‡Π΅ΠΌ file2.
-O file ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚, сущСствуСт Π»ΠΈ Ρ„Π°ΠΉΠ», ΠΈ являСтся Π»ΠΈ Π΅Π³ΠΎ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π΅ΠΌ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ.
-G fileΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚, сущСствуСт Π»ΠΈ Ρ„Π°ΠΉΠ», ΠΈ соотвСтствуСт Π»ΠΈ Π΅Π³ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρƒ Π³Ρ€ΡƒΠΏΠΏΡ‹ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

Π­Ρ‚ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΊΠ°ΠΊ Π²ΠΏΡ€ΠΎΡ‡Π΅ΠΌ, ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ рассмотрСнныС сСгодня, нСслоТно Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ. Π˜Ρ… ΠΈΠΌΠ΅Π½Π°, являясь сокращСниями ΠΎΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… слов, прямо ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Π½Π° выполняСмыС ΠΈΠΌΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ.

ΠžΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΠΎΠ΄Π½Ρƒ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅:

#!/bin/bash
mydir=/home/likegeeks
if [ -d $mydir ]
then
echo "The $mydir directory exists"
cd $ mydir
ls
else
echo "The $mydir directory does not exist"
fi

Π­Ρ‚ΠΎΡ‚ скрипт, для ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ, Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ Π΅Ρ‘ содСрТимоС.
Π’Ρ‹Π²ΠΎΠ΄ содСрТимого Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ

ПолагаСм, с ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ Π²Ρ‹ смоТСтС ΠΏΠΎΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ, всС ΠΎΠ½ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΠΏΠΎ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ.

Π˜Ρ‚ΠΎΠ³ΠΈ

БСгодня ΠΌΡ‹ рассказали ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ ΠΊ написанию bash-скриптов ΠΈ рассмотрСли Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ Π²Π΅Ρ‰ΠΈ. На самом Π΄Π΅Π»Π΅, Ρ‚Π΅ΠΌΠ° bash-программирования ΠΎΠ³Ρ€ΠΎΠΌΠ½Π°. Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ являСтся ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΎΠΌ ΠΏΠ΅Ρ€Π²ΠΎΠΉ части большой сСрии ΠΈΠ· 11 ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ². Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ продолТСния прямо сСйчас β€” Π²ΠΎΡ‚ список ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΠΎΠ² этих ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ². Для удобства сюда Π²ΠΊΠ»ΡŽΡ‡Ρ‘Π½ ΠΈ Ρ‚ΠΎΡ‚, ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π²Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΡ‡Π»ΠΈ.

  1. Bash Script Step By Step β€” здСсь Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Ρ‘Ρ‚ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Π½Π°Ρ‡Π°Ρ‚ΡŒ созданиС bash-скриптов, рассмотрСно использованиС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, описаны условныС конструкции, вычислСния, сравнСния чисСл, строк, выяснСниС свСдСний ΠΎ Ρ„Π°ΠΉΠ»Π°Ρ….
  2. Bash Scripting Part 2, Bash the awesome β€” Ρ‚ΡƒΡ‚ Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ΡΡ особСнности Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ†ΠΈΠΊΠ»Π°ΠΌΠΈ for ΠΈ while.
  3. Bash Scripting Part 3, Parameters & options β€” этот ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» посвящён ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки ΠΈ ΠΊΠ»ΡŽΡ‡Π°ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ скриптам, Ρ€Π°Π±ΠΎΡ‚Π΅ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π²ΠΎΠ΄ΠΈΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ, ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈΠ· Ρ„Π°ΠΉΠ»ΠΎΠ².
  4. Bash Scripting Part 4, Input & Output β€” здСсь Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Ρ‘Ρ‚ ΠΎ дСскрипторах Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π½ΠΈΠΌΠΈ, ΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠ°Ρ… Π²Π²ΠΎΠ΄Π°, Π²Ρ‹Π²ΠΎΠ΄Π°, ошибок, ΠΎ ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ Π²Ρ‹Π²ΠΎΠ΄Π°.
  5. Bash Scripting Part 5, Sighals & Jobs β€” этот ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» посвящён сигналам Linux, ΠΈΡ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π² скриптах, запуску сцСнариСв ΠΏΠΎ Ρ€Π°ΡΠΏΠΈΡΠ°Π½ΠΈΡŽ.
  6. Bash Scripting Part 6, Functions β€” Ρ‚ΡƒΡ‚ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΎ создании ΠΈ использовании Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π² скриптах, ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ.
  7. Bash Scripting Part 7, Using sed β€” эта ΡΡ‚Π°Ρ‚ΡŒΡ посвящСна Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²Ρ‹ΠΌ тСкстовым Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠΌ sed.
  8. Bash Scripting Part 8, Using awk β€” Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» посвящён ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Π½Π° языкС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… awk.
  9. Bash Scripting Part 9, Regular Expressions β€” Ρ‚ΡƒΡ‚ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ± использовании рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π² bash-скриптах.
  10. Bash Scripting Part 10, Practical Examples β€” здСсь ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ ΠΏΡ€ΠΈΡ‘ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с сообщСниями, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ, Π° Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΠ° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° диска.
  11. Bash Scripting Part 11, Expect Command β€” этот ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» посвящён срСдству Expect, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ взаимодСйствиС с ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°ΠΌΠΈ. Π’ частности, здСсь ΠΈΠ΄Ρ‘Ρ‚ Ρ€Π΅Ρ‡ΡŒ ΠΎΠ± expect-скриптах ΠΈ ΠΎΠ± ΠΈΡ… взаимодСйствии с bash-скриптами ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ.

ПолагаСм, ΠΎΠ΄Π½ΠΎ ΠΈΠ· Ρ†Π΅Π½Π½Ρ‹Ρ… свойств этой сСрии статСй Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π°, Π½Π°Ρ‡ΠΈΠ½Π°ΡΡΡŒ с самого простого, подходящСго для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ любого уровня, постСпСнно Π²Π΅Π΄Ρ‘Ρ‚ ΠΊ довольно ΡΠ΅Ρ€ΡŒΡ‘Π·Π½Ρ‹ΠΌ Ρ‚Π΅ΠΌΠ°ΠΌ, давая шанс всСм ΠΆΠ΅Π»Π°ΡŽΡ‰ΠΈΠΌ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚ΡŒΡΡ Π² Π΄Π΅Π»Π΅ создания сцСнариСв ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки Linux.

Π£Π²Π°ΠΆΠ°Π΅ΠΌΡ‹Π΅ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΠΈ! ΠŸΡ€ΠΎΡΠΈΠΌ Π³ΡƒΡ€Ρƒ bash-программирования Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Π΄ΠΎΠ±Ρ€Π°Π»ΠΈΡΡŒ Π΄ΠΎ Π²Π΅Ρ€ΡˆΠΈΠ½ мастСрства, ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ сСкрСтами, Π° ΠΎΡ‚ Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ написал свой ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ скрипт, ΠΆΠ΄Ρ‘ΠΌ Π²ΠΏΠ΅Ρ‡Π°Ρ‚Π»Π΅Π½ΠΈΠΉ.

ВСория ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Ρ… скриптов / Π₯Π°Π±Ρ€

Π§Π΅ΠΌ различаСтся скрипт ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°? ВовсС Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌ языком ΠΈΠ»ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ΠΌ интСрфСйса.

Главная Ρ€Π°Π·Π½ΠΈΡ†Π° β€” Π² Π½Π°Π»ΠΈΡ‡ΠΈΠΈ Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΎΠ±ΡˆΠΈΡ€Π½Π΅ΠΉΡˆΠ΅ΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ, Π½Π΅ связанной «содСрТимым» ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’ зависимости ΠΎΡ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, это ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ страницы руководства, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… языков, Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π° ΠΏΠΎ установкС/ΡƒΠ΄Π°Π»Π΅Π½ΠΈΡŽ, исполнСниС соглашСний ΠΎΠ± интСрфСйсС (ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки, ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹Ρ… срСдств взаимодСйствия), интСрфСйсы Π² ΠΎΠ±Ρ‰Π΅ΠΌ рССстрС ΠΈ Ρ‚.д… ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΡƒΠΌΠ΅Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² любой Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ срСдС, ΠΏΡ€Π΅Π΄ΡƒΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ситуации (ΠΊΡ€ΡƒΡ‡Π΅ всСго с этим Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΏΠΎΠ΄ unix, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ./configure для опрСдСлСния, собствСнно, Π³Π΄Π΅ ΠΎΠ½ΠΈ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ, Π° Ρ‡Ρ‚ΠΎ нСльзя Π½Π° этой (ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ) ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅).

Π‘ΠΊΡ€ΠΈΠΏΡ‚ ΠΆΠ΅, Π² строго ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ смыслС: ΠΎΠ½ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ «здСсь ΠΈ сСйчас». Никто Π½Π΅ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚ ΠΎΡ‚ скрипта, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ отсылаСт статистику, способности Π΄Π΅Π»Π°Ρ‚ΡŒ это ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π½Π° solaris’Π΅, freeBSD ΠΈ windows embedded standard с cygwin’ΠΎΠΌ Π½Π° Π±ΠΎΡ€Ρ‚Ρƒ.

По ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΎ-программистким прСдставлСниям, ΠΌΠ΅ΠΆΠ΄Ρƒ скриптами администрирования ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ Π½Π΅Ρ‚ Ρ€Π°Π·Π½ΠΈΡ†Ρ‹. Они Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΏΠΎ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°ΠΌ, Π²ΠΎΠΎΠ±Ρ‰Π΅ говоря, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ ΠΏΠΎΡ‡Ρ‚ΠΈ ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ ΠΆΠ΅.

Π Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ скриптом ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ β€” административная.

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈ любая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΈΠΌΠ΅Π΅Ρ‚ Π² сСбС ВРИ Π²Π°ΠΆΠ½Ρ‹Π΅ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅:

  • ΠΠ΅Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ.
  • Π’Π΅Ρ…ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ, Π½Π°Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Π΅ Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ использования, Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Π΅ схСмы внСдрСния ΠΈ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.
  • ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡŽ Π² Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ срСду Π² любой Ρ€Π°Π·Ρ€Π΅ΡˆΡ‘Π½Π½ΠΎΠΉ (Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ) ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎΠ± этих ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ…β€¦

1) Алгоритм. Π£ любой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π΅ΡΡ‚ΡŒ Π²ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ… нСкая идСя (Ρ‡Ρ‚ΠΎ, собствСнно, Π΄Π΅Π»Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°), Π²ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ… β€” обвязка. Π§Ρ‚Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΠΎΠ², Π²Ρ‹Π²ΠΎΠ΄ Π² сислог, ΠΎΠΏΠΎΠ²Π΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΏΠΎΡ‡Ρ‚Π΅ ΠΈ Π΅Ρ‰Ρ‘ тысяча Π½Π΅ связанных с основной Π·Π°Π΄Π°Ρ‡Π΅ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. Но ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π½Π΅ Ρ€Π°Π΄ΠΈ чтСния ΠΊΠΎΠ½Ρ„ΠΈΠ³ΠΎΠ² ΠΈ записи Π² Π»ΠΎΠ³, Π° Ρ€Π°Π΄ΠΈ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° ДЕЛАЕВ. БоотвСтствСнно, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ идСя Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠ°ΠΊΠΈΡ…-Ρ‚ΠΎ дСйствий ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΌΡƒ-Ρ‚ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡƒ. ΠΠ΅Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½Π°Ρ идСя. Π’ фактичСском ΠΊΠΎΠ΄Π΅ это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ мСньшС, Ρ‡Π΅ΠΌ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ xml-ΠΊΠΎΠ½Ρ„ΠΈΠ³Π°, Π½ΠΎ ΠΏΡ€ΠΈ этом ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ β€” ΡΡƒΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Он ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ»ΠΈ Β«ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΌ Π΄Π°Π½Π½Ρ‹Π΅Β» (Π²Ρ€ΠΎΠ΄Π΅ SQL’я), ΠΈΠ»ΠΈ матСматичСским (Π²Ρ€ΠΎΠ΄Π΅ md5sum), ΠΈΠ»ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΌ с ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌΠΈ особСнностями ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΆΠ΅Π»Π΅Π·ΠΊΠΈ (Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Ρ„Π°ΠΉΠ»Π°) β€” Π½ΠΎ ΠΎΠ½ всСгда Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ высокой ΠΊΠ²Π°Π»ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π² ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ области для Π°Π΄Π΅ΠΊΠ²Π°Ρ‚Π½ΠΎΠ³ΠΎ понимания ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Ρ‹. ΠŸΠΎΠ½ΡΡ‚Π½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ OpenSSL ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ любой программист. ΠŸΠΎΠ½ΡΡ‚Π½ΠΎ, Ρ‡Ρ‚ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ OpenSSL ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ½ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊ.

Но ΠΌΡ‹ пишСм Π½Π΅ ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… β€” ΠΎ скриптах. Π’Π°ΠΊ Π²ΠΎΡ‚, скрипт Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ Π½Π΅Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹. Если Π²Ρ‹ Ρƒ сСбя Π² скриптС ΠΏΠΈΡˆΠΈΡ‚Π΅ Π°Π½Π°Π»ΠΎΠ³ base64 β€” это ΠΏΠ»ΠΎΡ…ΠΎΠΉ скрипт. Если Π²Ρ‹ Ρƒ сСбя Π² скриптС ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΡƒ сообщСний ΠΏΠΎ smtp ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Β«ΠΎΡ‚ΠΊΡ€Ρ‹Π»ΠΈ сокСт, записали» β€” это ΠΎΠΌΠ΅Ρ€Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ скрипт. Если Π²Ρ‹ Ρƒ сСбя Π² скриптС Π»ΠΎΠ²ΠΈΡ‚Π΅ Π΄Π°Π½Π½Ρ‹Π΅ с ΠΊΠΎΠΌ-ΠΏΠΎΡ€Ρ‚Π° ΠΈ ΠΏΠΈΡˆΠΈΡ‚Π΅ Ρ‚ΡƒΠ΄Π° ΠΎΡ‚Π²Π΅Ρ‚ (для управлСния УПБом) β€” это писСц ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ, Π° Π½Π΅ скрипт.

Π‘ΠΊΡ€ΠΈΠΏΡ‚ НЕ Π”ΠžΠ›Π–Π•Π ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π² сСбС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Ρ… Β«ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ области». Π£ скрипта Π½Π΅Ρ‚ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ области, скрипт β€” обвязка Π²ΠΎΠΊΡ€ΡƒΠ³ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΆΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ с ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½Ρ‹ΠΌΠΈ областями. Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях скриптовый язык ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ вСсь инструмСнтарий:


if  md5.md5sum (open.($check).read() ) != url.openurl($control).read():
     smtp.sendmail($from, $to, "data check failed", "md5sum of $check does not match control sum form $contol.").

Π­Ρ‚ΠΎ скрипт. ΠŸΡ€ΠΎΡΡ‚ΠΎ скрипт. НС смотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ ΠΎΡ„ΠΈΠ³Π΅Π½Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΡ‘ΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹. А Π²ΠΎΡ‚ Ссли Ρƒ вас md5 β€” класс, ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹ΠΉ Π² скриптС 5 строчками Π²Ρ‹ΡˆΠ΅ с ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ md5 (ΠΈΠ»ΠΈ url, ΠΈΠ»ΠΈ open, ΠΈΠ»ΠΈ smtp, etc) β€” это ΡƒΠΆΠ΅ ΠΏΠΎΡ‚ΡƒΠ³Π° Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ. Но ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° β€” это ΠΌΠ½ΠΎΠ³ΠΎ слоТнСС, Ρ‡Π΅ΠΌ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, Π΅Ρ‘ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ β€” ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π² скриптах. ΠΠ˜ΠšΠžΠ“Π”Π.

2) Π›ΡŽΠ±Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΠ±Π»Π°Π΄Π°Ρ‚ΡŒ извСстным ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ. ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΈ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² Π²ΡΠ΅ΠΎΠ±ΡŠΠ΅ΠΌΠ»ΡŽΡ‰ΠΈΡ… Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Ρ…; ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° ΠΆΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΊΡ€ΠΎΠΌΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΅Ρ‰Ρ‘ содСрТит Π±Π°Π³ΠΈ ΠΈ Ρ„ΠΈΡ‡ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π»ΠΈΡΡŽΡ‚ Π½Π° Π΅Ρ‘ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π½Π°Π΄ΠΎ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ. ΠΠ΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊ Π½ΠΈΠΌ ΠΊΡƒΠ΄Π° ΠΏΡ€ΠΎΡ‰Π΅, ΠΊΠΎΠ³Π΄Π° Π΅ΡΡ‚ΡŒ нСкоторая ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° использования ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Β«KDC has been valid once but invalid nowΒ» β€” Ссли это сообщСниС ΠΎΡ‚ скрипта β€” всё, Ρ…ΠΎΡ€ΠΎΠ½ΠΈΡ‚ΡŒ. ΠŸΡ€ΡΠΌΠΎ Ρ‚ΡƒΡ‚, Π½Π° мСстС. Π£ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ это Π²ΠΏΠΎΠ»Π½Π΅ Ρ€Π°Π·ΡƒΠΌΠ½ΠΎΠ΅ сообщСниС ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΌΠΎΠΆΠ½ΠΎ Π³ΡƒΠ³Π»ΠΈΡ‚ΡŒ ΠΈ Π²Ρ‹ΡΡΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π½Π΅ Ρ‚Π°ΠΊ. Π­Ρ‚ΠΎ прямоС слСдствиС наличия Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π½Π΅ΠΊΠΎΠΉ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ, спСцифичной ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰Π΅ΠΉ ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π½Π΅ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ Π΅Ρ‘ насквозь, Π° ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ бСхивиористичСски. Π’ΠΎ бишь ΠΊΠ°ΠΊ Π½Π°Π±ΠΎΡ€ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠΉ ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. «Данная вСрсия ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚ Ρ„Π°ΠΉΠ»Ρ‹ большС 2Π“Π± Π² Ρ€Π°Π·ΠΌΠ΅Ρ€Π΅Β». Π­Ρ‚ΠΎ Π½Π΅ укладываСтся Π² Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ (Π° Ссли улоТится β€” Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒ этак с Ρ‚ΠΎΠΌ дискрСтной ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΈ) β€” Π½ΠΎ это Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ Π² практичСском смыслС. «Данная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΠ»ΠΎΡ…ΠΎ сСбя Π²Π΅Π΄Ρ‘Ρ‚ Π² условиях симмСтричной Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π½Π° Π°ΠΏΠ»ΠΎΠ°Π΄/Π΄Π°ΡƒΠ½Π»ΠΎΠ°Π΄, Π»ΡƒΡ‡ΡˆΠ΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π΄Π²Π΅ ΠΊΠΎΠΏΠΈΠΈ, каТдая ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² свою сторону симмСтрично» β€” ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ _ΠŸΠžΠ§Π•ΠœΠ£_ ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ титаничСских усилий, ΠΏΡ€ΠΎΡ‰Π΅ ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ это ΠΊΠ°ΠΊ Π΄Π°Π½Π½ΠΎΡΡ‚ΡŒ. Π§Π΅ΠΌ слоТнСС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, Ρ‚Π΅ΠΌ большС ΠΆΠΈΠ·Π½ΠΈ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΡ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π½Π° Π΅Π³ΠΎ исслСдованиС, Π°Π΄Π°ΠΏΡ‚Π°Ρ†ΠΈΡŽ ΠΈ Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ΅ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅. На всё ΠΆΠΈΠ·Π½ΠΈ Π½Π΅ Ρ…Π²Π°Ρ‚ΠΈΡ‚, Π·Π½Π°Ρ‡ΠΈΡ‚, ΠΏΡ€ΠΎΡ‰Π΅ ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ ΠΊΠ°ΠΊ Π΄Π°Π½Π½ΠΎΠ΅ ΠΈ ΡΠΊΠΎΠ½Ρ†Π΅Π½Ρ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π° Π²Π°ΠΆΠ½ΠΎΠΌ.

Π‘ΠΊΡ€ΠΈΠΏΡ‚ ΠΆΠ΅, ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΊΡ€ΠΈΡΡ‚Π°Π»ΡŒΠ½ΠΎ понятСн ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ, ΠΊΡ‚ΠΎ Π΅Π³ΠΎ посмотрит (с ΠΏΠΎΠΏΡ€Π°Π²ΠΊΠ°ΠΌΠΈ Π½Π° Π·Π½Π°Π½ΠΈΠ΅ скриптового языка). Никаких (if every in self.__datarange__ is not in any map(__systable__.lang, __localtable__.map, lambda (a,b):[a in b or b in a for every __sys__.pair(a,b)])) raise "Missed i18n constitution".

3) Π‘ΠΊΡ€ΠΈΠΏΡ‚ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ Π·Π°Π΄Π°Ρ‡Ρƒ _Π—Π”Π•Π‘Π¬_И_БЕЙЧАБ_. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ€Π΅ΡˆΠ°Π΅Ρ‚ Π·Π°Π΄Π°Ρ‡Ρƒ _ВАМ_И_ВБЕГДА_ (с ΠΏΠΎΠΏΡ€Π°Π²ΠΊΠΎΠΉ Π½Π° ΠΎΠΏΡ‹Ρ‚ эксплуатации ΠΈΠ· ΠΏ.2). Когда Π²Ρ‹ ΠΏΠΈΡˆΠΈΡ‚Π΅ скрипт, Π²Ρ‹ Π΄Π΅Π»Π°Π΅Ρ‚Π΅ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΎ Π² вашСй систСмС. Оно Π½Π΅ годится для свободного использования Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… систСмах (хотя ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π›Π•Π“ΠšΠž (см ΠΏ.1) Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ). ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΡƒΠ΅ΠΌΠ° ΠΊ ΠΊΡƒΡ‡Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² примСнСния, рСализация этой Π°Π΄Π°ΠΏΡ‚Π°Ρ†ΠΈΠΈ Π² скриптС ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΏΠΎΡ‚Π΅Ρ€Π΅ Π΅Π³ΠΎ простоты ΠΈ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΡŽ Π΅Π³ΠΎ, собствСнно, Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ (ΡƒΠ²Ρ‹ ΠΈ Π°Ρ…), Π½ΠΎ Π·Π½Π°Π½ΠΈΠ΅ КАК ΠŸΠ ΠΠ’Π˜Π›Π¬ΠΠž ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π΅ эквивалСнтно написанию ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΡ‚Ρ€ΡΡΠ°ΡŽΡ‰ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ, Π½ΠΎ Ссли Π²Ρ‹ Π½Π΅ смоТСтС Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π΅Ρ‘ Π½Π° машинС, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ понСдСльник ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ дСнь Π½Π΅Π΄Π΅Π»ΠΈ (ΠΈΠ»ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠΉ β€” ΠΊΠΎΠΌΡƒ ΠΊΠ°ΠΊ ΠΏΠΎΠ²Π΅Π·Ρ‘Ρ‚), Ρ‚ΠΎ Π³Ρ€ΠΎΡˆ Ρ†Π΅Π½Π° вашСй Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅. ΠΠ΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΎΠ± этом β€” это ΡƒΠΆΠ΅ написаниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ β€” скрипту Ρ‚Π°ΠΊΠΎΠ΅ допустимо (хотя ΠΈ Π½Π΅ ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ).

Ну ΠΈ Π΅Ρ‰Ρ‘ Π²Π°ΠΆΠ½ΠΎΠ΅ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ скриптами ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (Π² Ρ„ΠΎΡ€ΠΌΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ) ΠΌΠΎΠ³ΡƒΡ‚ Β«Π½Π°ΡΠ»Π°ΠΈΠ²Π°Ρ‚ΡŒΡΡΒ» Π΄Ρ€ΡƒΠ³ Π½Π° Π΄Ρ€ΡƒΠ³Π°. Π­Ρ‚ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π½ΡƒΠΆΠ΅Π½ libYYY, которая ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ libZZZ ΠΈ libAAA, ΠΏΡ€ΠΈ этом libAAA ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ libZZZ ΠΈ libc. Π­Ρ‚ΠΎ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ.

Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ ΠΆΠ΅ НЕ Π”ΠžΠ›Π–ΠΠ« Π—ΠΠ’Π˜Π‘Π•Π’Π¬ Π”Π Π£Π“ ОВ ДРУГА. Битуация, ΠΊΠΎΠ³Π΄Π° скрипт зависит ΠΎΡ‚ сСрвисов Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ скрипта, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ зависит ΠΎΡ‚ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅Π³ΠΎ β€” Π½Π΅Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ.

Π—Π°ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Ρ‘Ρ‚ ΠΎ зависимости. Π’ΠΏΠΎΠ»Π½Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ сСбС скрипт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ скрипты ΠΈ Π²Ρ‹Π΄Π°Ρ‘Ρ‚ ΠΎΠ±ΠΎΠ±Ρ‰Ρ‘Π½Π½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΏΠΎ Π½ΠΈΠΌ, Π½ΠΎ это ΡƒΠΆΠ΅ Π³Ρ€Π°Π½ΡŒ. Π§ΡƒΡ‚ΡŒ слоТнСС (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Β«Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт А Ссли скрипт Π‘ Π½Π΅ ΠΎΡ‚Ρ€Π°Π±ΠΎΡ‚Π°Π»Β») β€” ΡƒΠΆΠ΅ Π·Π° Π³Ρ€Π°Π½ΡŒΡŽ Ρ„ΠΎΠ»Π°. ΠΠ΅Ρ…ΠΎΡ€ΠΎΡˆΠΎ. А Ссли скрипт А Π½Π΅ ΠΎΡ‚Ρ€Π°Π±ΠΎΡ‚Π°Π» Π½ΠΎ Π½Π΅ сообщил ΠΎΠ± этом? Или Ρ‡ΡƒΡ‚ΡŒ-Ρ‡ΡƒΡ‚ΡŒ ΠΎΡ‚Ρ€Π°Π±ΠΎΡ‚Π°Π», Π½ΠΎ ΠΏΠΎΡ‚ΠΎΠΌ отвалился Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ скрипту Π‘ Π½Π΅ получится Π΄ΠΎΠ΄Π΅Π»Π°Ρ‚ΡŒ (Π° ΠΌΡ‹, ΠΊΠ°ΠΊ Π°Π²Ρ‚ΠΎΡ€Ρ‹ скрипта А, ΠΈ ΠΏΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ Π½Π΅ ΠΌΠΎΠ³Π»ΠΈ ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΌ)?

Π§Ρ‚ΠΎ ΠΆΠ΅ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ скрипт? Π‘Ρ€Π°Ρ‰ΠΈΠ²Π°Ρ‚ΡŒ нСсколько ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ систСму. ΠœΠΎΠΆΠ΅Ρ‚Π΅ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π·Π° Π΄Π΅Ρ‚Π°Π»ΠΈ конструктора. А сам конструктор β€” Π·Π° скрипт. Π’Π°ΠΌ НЕ Π‘Π›Π•Π”Π£Π•Π’ Π½Π°Ρ€Π΅Π·Π°Ρ‚ΡŒ Π²ΠΈΠ½Ρ‚ΠΎΠ²ΡƒΡŽ Π½Π°Ρ€Π΅Π·ΠΊΡƒ Π½Π° шпиндСлС β€” Π²ΠΎΠ·ΡŒΠΌΠΈΡ‚Π΅ шпиндСль с Π½Π°Ρ€Π΅Π·ΠΊΠΎΠΉ. Π’Π°ΠΌ Π½Π΅ слСдуСт Π΄Π΅Π»Π°Ρ‚ΡŒ эллиптичСский Π²Π°Π»ΠΈΠΊ ΠΈΠ· этой Ρ€Π΅Π·ΠΈΠ½ΠΊΠΈ β€” ΠΎΠ½ΠΎ всё Ρ€Π°Π²Π½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ»ΠΎΡ…ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ. Если Ρƒ вас Π² конструкторС Π½Π΅Ρ‚ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½ΠΎΠΉ пластинки с Π΄Ρ‹Ρ€ΠΊΠ°ΠΌΠΈ ΠΏΠΎ краям, Ρ‚ΠΎ это ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π½Π΅Ρ…Π²Π°Ρ‚ΠΊΠΈ Π΄Π΅Ρ‚Π°Π»Π΅ΠΊ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½ΡƒΡŽ пластину ΠΈΠ· ΠΏΠ°Ρ€Ρ‹ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½Ρ‹Ρ…, Π½ΠΎ Π½Π΅ слСдуСт Π΄Π΅Π»Π°Ρ‚ΡŒ Π΅Ρ‘ ΠΈ сотни Π΄Π»ΠΈΠ½Π½Ρ‹Ρ… полосок.

Π‘Ρ‹Π²Π°Π΅Ρ‚ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ скрипты ΠΏΠ΅Ρ€Π΅Ρ€ΠΎΠΆΠ΄Π°ΡŽΡ‚ΡΡ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’Π½Π΅Π·Π°ΠΏΠ½ΠΎ Π² скриптС появляСтся нСкая Π»ΠΎΠ³ΠΈΠΊΠ° (Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ), которая становится Π½Π΅Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½Π° (ΠΈ ΠΏΠΎΠ»Π΅Π·Π½Π°). Π’ этот ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠΉΠΌΠ°Ρ‚ΡŒ это β€” ΠΈ Π½Π΅ ΠΏΠΎΠ»Π΅Π½ΠΈΡ‚ΡŒΡΡ ΠΏΠΎΡ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π² Ρ‚Ρ€ΠΈ Ρ€Π°Π·Π° большС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Π½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Ρ‘ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ. ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ Π΅Ρ‘ «мясом», ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΎΡ‚Π»ΠΈΡ‡Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΎΡ‚ скрипта. Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΡΠΎΡ‚Π½ΡŽ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ условий, Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ всС константы Π½Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΏΡ€ΠΈΠ³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ Π΅Ρ‘ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² Β«Π½Π΅ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½Ρ‹Ρ…Β» условиях. Π–Π΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Ρ‘ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½ΠΎΠΉ (Ρ‚ΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒΡΡ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° использования).

ΠžΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ ΠΏΠ°ΠΉΠΏ прСдставляСт ΠΈΠ· сСбя практичСски ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ инструмСнт для конструирования простых ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ:


lssomething | grep "bla-bla"|sendmail [email protected] -s "bla-bal for something".

Π“Ρ€Π°Π½ΡŒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ заканчиваСтся скрипт Π½Π°ΠΉΡ‚ΠΈ слоТно. Π‘ΠΊΠ°ΠΆΠ΅ΠΌ Ρ‚Π°ΠΊ, Ρ†ΠΈΠΊΠ» β€” Π΅Ρ‰Ρ‘ Ρ‚Π΅Ρ€ΠΏΠΈΠΌΠΎ. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° условия β€” Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ. Но Π²ΠΎΡ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° условия Π² Ρ†ΠΈΠΊΠ»Π΅ (большС, Ρ‡Π΅ΠΌ Π²Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ· Ρ†ΠΈΠΊΠ»Π°) β€” это ΡƒΠΆΠ΅ ΠΏΠ»ΠΎΡ…ΠΎ. Если ΠΆΠ΅ Ρƒ вас Ρ†ΠΈΠΊΠ», Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ΅ условия запускаСтся Ρ†ΠΈΠΊΠ» β€” это 100% ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°. Если Ρƒ Π½Π΅Ρ‘ Π½Π΅Ρ‚ всСго Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π·Π½Π°Ρ‡ΠΈΡ‚ это просто ΠΎΡ‡Π΅Π½ΡŒ плохая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°. Но Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ скрипт.

Когда я ΡΠΌΠΎΡ‚Ρ€ΡŽ Π½Π° сборники Β«ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… скриптов» (Π²ΠΎΡ‚ Ρ‚ΡƒΡ‚ (forum.sysadmins.ru), Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€), я понимаю, Ρ‡Ρ‚ΠΎ это ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. УТасныС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π±Π΅Π· ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ, ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ установки, Π±Π΅Π· ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ условий… Π’Π°ΠΊ нСльзя.

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

ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ копипастнутых скриптов β€” ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ Ρ€Π°Π½Π½Π΅-досового копирования Π½Π° дискСтках ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒΠ»ΠΈΠ½. Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ β€” радуСмся, Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ β€” ΠΏΠΎΡ„ΠΈΠ³Ρƒ, сломало всё β€” злимся. Π’ условиях Π²Ρ‹Π±ΠΎΡ€Π° ΠΌΠ΅ΠΆΠ΄Ρƒ копипастнутым скриптом ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ (ΠΈ минимальной обвязкой) слСдуСт Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π”Π°ΠΆΠ΅ Ссли Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… усилий ΠΏΠΎ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΡŽ, налаТиванию ΠΈ Ρ‚.Π΄. Наладив ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ. ΠžΡ‚Π»Π°Π΄ΠΈΠ² скрипт Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ лишь ΠΊΠΎΡΡ‚Ρ‹Π»ΡŒ, ΠΏΡ€ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ ΠΈ Π΄ΠΎΠ»Π³ΠΎΠ²Π΅Ρ‡Π½ΠΎΡΡ‚ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π½Π΅ Π·Π½Π°Π΅Ρ‚ Π΄Π°ΠΆΠ΅ Π°Π²Ρ‚ΠΎΡ€.

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ подобная ситуация: Π΄Π΅Π»Π°Ρ‚ΡŒ скрипт ΠΈΠ»ΠΈ ΠΈΡΠΊΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, слСдуСт Π½Π°Ρ‡Π°Ρ‚ΡŒ с поиска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ΠŸΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΡƒΠ²Π»Π΅ΠΊΠ°Π΅Ρ‚ (Π΄Π° Π½Π°Ρ„ΠΈΠ³Π° Π½Π°ΠΌ nagios, ΠΌΡ‹ ΠΈ сами напишСм ΠΏΠ°Ρ‡ΠΊΡƒ скриптов ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π°), Π° ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ Ρ‡ΡƒΠΆΠΎΠ³ΠΎ β€” утомляСт (Π½Ρƒ Ρ…Ρ€Π΅Π½Π° ΠΎΠ½Π° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π΅ Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ я оТидаю?). Но послСдствия «нСдопрограммирования» β€” отсутствиС Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΊ Ρ‚ΠΎΠΌΡƒ Β«Π΄Ρ‹ΠΌΠΎΡ…ΠΎΠ΄ΡƒΒ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ сдСлали. А послСдствиС Π²Π½Π΅Π΄Ρ€Ρ‘Π½Π½ΠΎΠ³ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ β€” систСма, которая ΡƒΠΌΠ΅Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ сама ΠΏΠΎ сСбС.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для создания скриптов

IDLE

Python β€” ΠΎΠ΄ΠΈΠ½ ΠΈΠ· самых популярных Π² ΠΌΠΈΡ€Π΅ языков программирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ сцСнарий скриптов. Он Π»Π΅Π³ΠΎΠΊ Π² освоСнии, ΠΈΠΌΠ΅Π΅Ρ‚ Π±Ρ‹ΡΡ‚Ρ€ΡƒΡŽ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ выполнСния ΠΊΠΎΠ΄Π°, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π³Π»Π°Π²Π½Ρ‹Ρ… языков для написания Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… скриптов. Из-Π·Π° этого ΠΌΡ‹ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌ сначала Π²Π·ΡΡ‚ΡŒ Π²ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ этот ЯП ΠΈ Π΅Π³ΠΎ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΡƒΡŽ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ срСду Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ IDLE. Π”Π°Π½Π½Ρ‹ΠΉ инструмСнт Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π΅Π³ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ происходит вмСстС с основными ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ Python ΠΏΡ€ΠΈ ΠΈΡ… скачивании с ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Π΅Π±-рСсурса. Π₯ΠΎΡ‚ΡŒ эта ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΏΠΎ прСдставлСнному Π΄Π°Π»Π΅Π΅ ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚Ρƒ, ΠΈ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ особСнностСй внСшнСго Π²ΠΈΠ΄Π° ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΡ…-Ρ‚ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… элСмСнтов интСрфСйса, ΠΎΠ½Π° ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ‚ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΈΡΠ°Ρ‚ΡŒ нСбольшиС скрипты. Π’ Π½Π΅ΠΉ подсвСчиваСтся синтаксис, Π΅ΡΡ‚ΡŒ продвинутая систСма ΠΎΡ‚Ρ‡Π΅Ρ‚Π° ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ…, Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ горячСй клавишСй, ознакомившись с Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Π² Π½ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅.

Π§Ρ‚ΠΎ касаСтся Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… особСнностСй IDLE, Ρ‚ΠΎ этот софт Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ Ρ‚Π΅ ΠΆΠ΅ стандартныС дСйствия, Ρ‡Ρ‚ΠΎ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, позволяя ΠΏΠΈΡΠ°Ρ‚ΡŒ, Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ, ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ ΠΊΠΎΠ΄ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΆΠΈΠΌ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ. ΠžΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ стоит ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ Π²ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Shell β€” консоль для просмотра ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅, Π³Π΄Π΅ ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ увСдомлСния ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ…, Ссли ΠΎΠ½ΠΈ Π²Π΄Ρ€ΡƒΠ³ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ. Π­Ρ‚Π° оснастка запускаСтся Π² Π²ΠΈΠ΄Π΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°, Π³Π΄Π΅ ΠΈ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ скрипта, Π° Ссли обнаруТатся ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ ошибки, Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΎΠΏΠΎΠ²Π΅Ρ‰Π΅Π½Ρ‹ ΠΎ Π½ΠΈΡ… ΠΈ быстро смоТСтС ΠΎΡ‚ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½ΡƒΡŽ строку. Если рассматриваСмая срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ станСт вашим основным инструмСнтом для написания скриптов, ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ количСство встроСнных горячих клавиш, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΈΡ… Π·Π½Π°Π½ΠΈΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ процСсс взаимодСйствия с софтом.

Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ IDLE с ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ сайта

PyCharm

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

ΠŸΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΠ΅Ρ‚ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΈ удобная функция поиска ΠΏΠΎ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ„Π°ΠΉΠ», символ ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠ΄Π°, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚ Π±ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎ Π² ΠΏΠ°Ρ€Ρƒ ΠΊΠ»ΠΈΠΊΠΎΠ². ΠŸΡ€ΠΈ написании скриптов такая Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ‚ΠΎΠΆΠ΅ окаТСтся ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ, вСдь ΠΈΠ½ΠΎΠ³Π΄Π° сцСнарий состоит ΠΈΠ· мноТСства строчСк ΠΊΠΎΠ΄Π°. ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΆΠ΅ запускС PyCharm Π²Π°ΠΌ станСт доступно ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ количСство ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π±Π΅Π· надобности установки Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ. К Π½ΠΈΠΌ относятся: инструмСнты ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, тСстирования ΠΈ профилирования, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° популярных Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… (Oracle, SQL Server, PostgreSQL, MySQL ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅). ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ PyCharm для выполнСния Π»ΡŽΠ±Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ Π½Π° языкС программирования Python, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΈ Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ присутствуСт ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с HTML ΠΈ JavaScript. Подводя ΠΈΡ‚ΠΎΠ³ΠΈ ΠΏΠΎ рассмотрСнному софту, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ станСт ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠΌ для постоянной Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ‚Π΅ΠΌ ΡŽΠ·Π΅Ρ€Π°ΠΌ, ΠΊΡ‚ΠΎ собираСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Python Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для написания скриптов, Π½ΠΎ ΠΈ ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ»ΠΈ матСматичСских вычислСний.

Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ PyCharm с ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ сайта

IntelliJ IDEA

Π•Ρ‰Π΅ ΠΎΠ΄Π½ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΎΡ‚ Ρ‚Π΅Ρ… ΠΆΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², Π½ΠΎ ΡƒΠΆΠ΅ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ языками программирования. Из Ρ‚Π΅Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ созданиС скриптов, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ JavaScript, Python ΠΈ Ruby, Π½ΠΎ Ссли Π²Ρ‹ Π²Π΄Ρ€ΡƒΠ³ Ρ€Π΅ΡˆΠΈΡ‚Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ слоТный сцСнарий Π½Π° C++, Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с этим Ρ‚ΠΎΠΆΠ΅ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ, ΠΎΠ΄Π½Π°ΠΊΠΎ Π½Π΅ стоит Π·Π°Π±Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ этот ЯП Π½Π΅ совсСм ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для написания сцСнариСв ΠΈ Π»ΡƒΡ‡ΡˆΠ΅ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ выполнСния Π·Π°Π΄Π°Ρ‡ΠΈ. Π’ IntelliJ IDEA присутствуСт ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ инструмСнт компилирования, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ горячиС клавиши, Π° Π½Π°ΠΉΠ΄Π΅Π½Π½Ρ‹Π΅ ошибки сразу ΠΆΠ΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π² консоли. Π£ΠΌΠ½Ρ‹ΠΉ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€, ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‰ΠΈΠΉ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π²Π²ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ ΠΊΠΎΠ΄, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ½Π°Ρ‡Π΅, Ρ‡Π΅ΠΌ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… срСдах Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π² этом случаС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Ρ€Π΅ΡˆΠΈΠ»ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ подстраиваСмым ΠΏΠΎΠ΄ контСкст, Π° Π½Π΅ ΠΎΠ±Ρ‰ΠΈΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»Π°.

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

Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ IntelliJ IDEA с ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ сайта

Eclipse

Eclipse β€” ΠΎΠ΄Π½Π° ΠΈΠ· самых извСстных срСд Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, которая ΠΏΡ€ΠΈΠ³Π»ΡΠ½ΡƒΠ»Π°ΡΡŒ Π±ΠΎΠ»ΡŒΡˆΠΎΠΌΡƒ количСству Π΄Π΅Π²Π΅Π»ΠΎΠΏΠ΅Ρ€ΠΎΠ² ΠΈΠ·-Π·Π° простой ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ со свободно ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹ΠΌΠΈ модулями. Если Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎΠ± ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΌ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π°ΠΊΡ†Π΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Java, ΠΎΠ΄Π½Π°ΠΊΠΎ сСйчас, установив всСго нСсколько Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ свободно ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° любом популярном языкС, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΈ скриптовыС. Иногда созданиС скриптов ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² ΠΈΠ»ΠΈ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ задСйствованы ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΊΠΎΠ΄Π° ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄. Π’ Ρ‚Π°ΠΊΠΎΠΌ случаС Eclipse окаТСтся ΠΊΠ°ΠΊ Π½ΠΈΠΊΠΎΠ³Π΄Π° кстати ΠΊΠ°ΠΊ Ρ€Π°Π· ΠΈΠ·-Π·Π° ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎΠΉ совмСстимости с Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ.

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

Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Eclipse

Netbeans

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ софт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ‚ для использования скриптовых ЯП, называСтся Netbeans. Π­Ρ‚ΠΎ бСсплатный инструмСнт, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ Java, JavaScript, Python, PHP, C, C++ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ языки программирования. БоотвСтствСнно, Π²Ρ‹ сами Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊΠΎΠΉ скрипт Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ, Π° срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π΅ ставит Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ Π² этом ΠΏΠ»Π°Π½Π΅. На ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ сайтС ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с доступными ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹ΠΌΠΈ ΠΏΠ»Π°Π³ΠΈΠ½Π°ΠΌΠΈ: Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΈΠ· Π½ΠΈΡ… ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Π½ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ окаТутся ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌΠΈ ΠΈ ΠΏΡ€ΠΈ создании скриптов. ΠŸΡ€ΠΈΠ²Ρ‹Ρ‡Π½Ρ‹Π΅ ΠΎΠΏΡ†ΠΈΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, быстроС Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° ΠΈΠ»ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ошибок Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Ρ‚ΠΎΠΆΠ΅ Π΅ΡΡ‚ΡŒ Π² рассматриваСмом софтС. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ Netbeans ΠΊΠ°ΠΊ Π½Π° Windows, Ρ‚Π°ΠΊ ΠΈ Π½Π° Linux, поэтому ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΠΏΠΎΠ΄ силу ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ скрипты для выполнСния Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах.

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

Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Netbeans с ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ сайта

RubyMine

Ruby β€” ΠΎΠ΄ΠΈΠ½ ΠΈΠ· самых часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… языков программирования для написания скриптов, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ минималистичСн ΠΈ ΠΊΡ€Π°ΠΉΠ½Π΅ прост Π² освоСнии Ρ‚Π΅ΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ, ΠΊΡ‚ΠΎ Π·Π½Π°ΠΊΠΎΠΌ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ЯП, Π½ΠΎ ΠΏΠΎΠ΄Π±ΠΈΡ€Π°Π΅Ρ‚ сСбС Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΈΠΌΠ΅Π½Π½ΠΎ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с нСбольшими сцСнариями. Компания JetBrains прСдоставляСт Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡƒΡŽ срСду Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ для этого языка, которая называСтся RubyMine. Однако ΠΏΡ€ΠΈ Π΄ΠΎΠ»ΠΆΠ½ΠΎΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π΅ ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ освоСнии самого софта Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π½Π° CSS, HTML, JavaScript, Rails ΠΈ SASS, Ссли это Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ для Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ†Π΅Π»Π΅ΠΉ Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅.

ΠŸΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΠΌ основныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π²Ρ‹ ΡƒΠΆΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π· ΡΠ»Ρ‹ΡˆΠ°Π»ΠΈ ΠΎ Π½ΠΈΡ…, ΠΈ Π»ΡƒΡ‡ΡˆΠ΅ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π² RubyMine встроСны систСмы ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ быстро ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄, написанный Π½Π° Ruby. Π•ΡΡ‚ΡŒ ΠΈ интСграция с CVS, Git, Mercurial, Perforce ΠΈ Subversion. ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с большими ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ, состоящими ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² Π΄Ρ€Π΅Π²ΠΎΠ²ΠΈΠ΄Π½ΠΎΠΌ стилС, Ρ‡Ρ‚ΠΎ сдСлаСт процСсс Π°Π½Π°Π»ΠΈΠ·Π° Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠΌΡ„ΠΎΡ€Ρ‚Π½Ρ‹ΠΌ. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ для ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ этой срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ понадобится Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 4 Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти, Π° сам софт распространяСтся Π½Π° ΠΏΠ»Π°Ρ‚Π½ΠΎΠΉ основС, Π½ΠΎ с доступной Ρ‚Ρ€ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ вСрсиСй сроком Π½Π° 30 Π΄Π½Π΅ΠΉ. Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ Π΅Π΅ ΠΈ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΎ ΠΏΠΎΠΊΡƒΠΏΠΊΠ΅.

Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ RubyMine с ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ сайта

Notepad++

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

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

Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Notepad++

Π•Ρ‰Π΅ Π½Π° нашСм сайтС Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΡƒΡŽ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ ΠΏΠΎ использованию рассматриваСмого софта. Она Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½Π° Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΌ ΡŽΠ·Π΅Ρ€Π°ΠΌ, ΠΊΡ‚ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ обучаСтся написанию скриптов ΠΈ Ρ€Π°Π½Π΅Π΅ Π½Π΅ сталкивался с Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ поставлСнной Π·Π°Π΄Π°Ρ‡ΠΈ. Π­Ρ‚ΠΎ ΠΆΠ΅ руководство ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π±ΠΎΠ»Π΅Π΅ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΎΠ±ΠΎ всСх возмоТностях Notepad++ ΠΈ ΠΏΠΎΠ½ΡΡ‚ΡŒ, насколько эта ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для постоянного взаимодСйствия.

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅: ИспользованиС тСкстового Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° Notepad++

SublimeText

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

ΠžΡ‚Π»ΠΈΡ‡Π°Π΅Ρ‚ΡΡ SublimeText ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Ρ… тСкстовых Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ² минималистичным ΠΈ приятным интСрфСйсом, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ Π²ΠΊΠ»Π°Π΄ΠΎΠΊ, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ, Π΄Π°ΠΆΠ΅ Ссли Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· Π½ΠΈΡ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ€Π°Π·Π½Ρ‹Π΅ языки программирования. Π•Ρ‰Π΅ стоит ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹, Ρ‡Ρ‚ΠΎ Π²Π°ΠΆΠ½ΠΎ ΠΏΡ€ΠΈ написании скриптов, ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ консоли, Π³Π΄Π΅ Π²Ρ‹ сразу ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌΠΈ выполнСния ΠΊΠΎΠ΄Π° ΠΈ ΡƒΠ·Π½Π°Ρ‚ΡŒ, Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΈ Π»ΠΈ Π²ΠΎ врСмя ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ошибки.

Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ SublimeText

ΠœΡ‹ Ρ€Π°Π΄Ρ‹, Ρ‡Ρ‚ΠΎ смогли ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π’Π°ΠΌ Π² Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹.

ΠžΠΏΠΈΡˆΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Ρƒ вас Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ.
Наши спСциалисты ΠΏΠΎΡΡ‚Π°Ρ€Π°ΡŽΡ‚ΡΡ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ максимально быстро.

Помогла Π»ΠΈ Π²Π°ΠΌ эта ΡΡ‚Π°Ρ‚ΡŒΡ?

ДА НЕВ

Как Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ скрипт: 9-Ρ‚ΠΈ шаговая схСма создания скрипта с нуля — ΠŸΠΎΡ€Π°Π Π°ΡΡ‚ΠΈ

08 Ноя Как Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ скрипт: 9-Ρ‚ΠΈ шаговая схСма создания скрипта с нуля

ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ΠΎ: 22:26
Π’ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ: Π₯ΠΎΠ»ΠΎΠ΄Π½Ρ‹Π΅ Π·Π²ΠΎΠ½ΠΊΠΈ ΠΈ ΠΏΡ€ΠΎΠ΄Π°ΠΆΠΈ ΠΏΠΎ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Ρƒ
ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π»: admin

Как Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ скрипт ΠΏΡ€ΠΎΠ΄Π°ΠΆ? Π’Π°ΠΊΠΈΠΌ вопросом задаСтся, Π½Π°Π²Π΅Ρ€Π½ΠΎΠ΅, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ, ΠΊΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² ΠΏΡ€ΠΎΠ΄Π°ΠΆΠ°Ρ…. И это Π½Π΅ΡƒΠ΄ΠΈΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ β€” вСдь Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ скрипт ΠΏΡ€ΠΎΠ΄Π°ΠΆ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π’Π°ΠΌ быстрСС ΠΈ Π»Π΅Π³Ρ‡Π΅ ΠΏΡ€ΠΈΠ²Π»Π΅ΠΊΠ°Ρ‚ΡŒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ², ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π°ΠΌ ΠΏΡ€Π΅ΠΎΠ΄ΠΎΠ»Π΅Π²Π°Ρ‚ΡŒ возраТСния ΠΈ ΠΎΡ‚Π²Π΅Ρ‡Π°Ρ‚ΡŒ Π½Π° вопросы ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠΎΠΊΡƒΠΏΠ°Ρ‚Π΅Π»Π΅ΠΉ. ΠŸΠ»ΡŽΡΡ‹ ΠΎΡ‚ использования скрипта ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹.

Но Π΅ΡΡ‚ΡŒ ΠΈ обратная сторона.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° скрипта ΠΏΡ€ΠΎΠ΄Π°ΠΆ β€” занятиС Π½Π΅ простоС. Π’ ΡΡ‚Π°Ρ‚ΡŒΠ΅ Β«3 способа Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈ ΠΎΡ„ΠΎΡ€ΠΌΠΈΡ‚ΡŒ скрипт ΠΏΡ€ΠΎΠ΄Π°ΠΆΒ» я ΡƒΠΆΠ΅ дСлился с Π’Π°ΠΌΠΈ своим ΠΌΠ½Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎ ΠΏΠΎΠ²ΠΎΠ΄Ρƒ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ скрипта (элСктронный Ρ„ΠΎΡ€ΠΌΠ°Ρ‚, Π±ΡƒΠΌΠ°ΠΆΠ½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚).

БСгодня я Ρ…ΠΎΡ‡Ρƒ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ΡŒ Π’Π°ΠΌ схСму создания скрипта β€” 9 ΡˆΠ°Π³ΠΎΠ²Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ написания скрипта с нуля (Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎ написаниС скрипта Ρ…ΠΎΠ»ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π·Π²ΠΎΠ½ΠΊΠ°. Для Π΄Ρ€ΡƒΠ³ΠΈΡ… Π²ΠΈΠ΄ΠΎΠ² Π·Π²ΠΎΠ½ΠΊΠΎΠ² Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΌ с нСбольшими ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²ΠΊΠ°ΠΌΠΈ). Когда я создаю скрипты ΠΏΡ€ΠΎΠ΄Π°ΠΆ для ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ², я сам ΠΎΠΏΠΈΡ€Π°ΡŽΡΡŒ Π½Π° этот Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ.

Π― ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΠ» Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ PDF. Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ бСсплатно, Ρ€Π°Π·Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π² доступ Ρ‡Π΅Ρ€Π΅Π· (Π½Π°ΠΆΠ°Ρ‚ΡŒ Π½Π° Π»ΡŽΠ±ΡƒΡŽ ΠΊΠ½ΠΎΠΏΠΊΡƒ соцсСтСй).

[sociallocker id=Β»17542β€³]

[/sociallocker]

Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ шаг я описал Π² этих Π²ΠΈΠ΄Π΅ΠΎ:

Как Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ скрипт ΠΏΡ€ΠΎΠ΄Π°ΠΆ: шаг 1-5 (Π²ΠΈΠ΄Π΅ΠΎ)

Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим основныС шаги ΠΏΡ€ΠΈ написании скрипта.

1. Начни с сСгмСнтации

Π­Ρ‚ΠΎΡ‚ шаг (ΠΊ соТалСнию, Π½Π΅Π·Π½Π°ΠΊΠΎΠΌΡ‹ΠΉ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Ρƒ) позволяСт Π½Π° Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΌ ΡΡ‚Π°ΠΏΠ΅Β Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π±Π°Π·Ρƒ Π½Π°ΡˆΠΈΡ… ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² Π½Π° Π±ΠΎΠ»Π΅Π΅ пСрспСктивных ΠΈ интСрСсных для нас ΠΈ Π½Π° ΠΌΠ΅Π½Π΅Π΅ интСрСсных. На этом шагС Π²Π°ΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΈ сСгмСнтации для своСй ситуации. НапримСр, Ссли я ΠΏΡ€ΠΎΠ΄Π°ΡŽ Ρ‚Ρ€Π΅Π½ΠΈΠ½Π³ΠΈ ΠΏΡ€ΠΎΠ΄Π°ΠΆ, Ρ‚ΠΎ для мСня ΠΊΠ»ΠΈΠ΅Π½Ρ‚ с Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ΠΌ ΠΎΡ‚Π΄Π΅Π»Π° ΠΏΡ€ΠΎΠ΄Π°ΠΆ Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΈ Π½Π΅ΠΎΠ±ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΌΠΈ сотрудниками Π±ΡƒΠ΄Π΅Ρ‚ Π³ΠΎΡ€Π°Π·Π΄ΠΎ интСрСснСС, Ρ‡Π΅ΠΌ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π±Π΅Π· ΠΎΡ‚Π΄Π΅Π»Π° ΠΏΡ€ΠΎΠ΄Π°ΠΆ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΌΡ‹ для сСбя выдСляСм ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² А, B, C ΠΈ Π΄Π°Π»Π΅Π΅ ΠΏΠΎ нСобходимости для Π’Π°ΡˆΠ΅Π³ΠΎ бизнСса. Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ этот Π²Π°ΠΆΠ½Ρ‹ΠΉ шаг я Ρ€Π°Π·Π±ΠΈΡ€Π°Π» Π½Π° ΠΎΠ½Π»Π°ΠΉΠ½-Ρ‚Ρ€Π΅Π½ΠΈΠ½Π³ Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ ΠΏΡ€ΠΎΠ΄Π°ΠΆ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ΡΡ‚Ρ€Π΅Π»ΠΈΠ²Π°ΡŽΡ‚ (здСсь ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΎΡ‚Ρ‡Π΅Ρ‚ с Ρ‚Ρ€Π΅Π½ΠΈΠ½Π³Π°), Π½ΠΎ Π΄ΡƒΠΌΠ°ΡŽ Π»ΠΎΠ³ΠΈΠΊΠ° сСгмСнтации Π’Π°ΠΌ понятна.

2. ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈ Ρ†Π΅Π»Π΅Π²ΠΎΠ΅ дСйствиС

На этом шагС Π²Π°ΠΆΠ½ΠΎ ΡΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ сСгмСнта ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² Ρ‚Π΅ Ρ†Π΅Π»Π΅Π²Ρ‹Π΅ дСйствия, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π½Π°ΠΌ Π²Ρ‹Π³ΠΎΠ΄Π½Ρ‹. НапримСр, с ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌΠΈ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ А ΠΌΡ‹ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°Ρ‚ΡŒΡΡ Π½Π° Ρ‚Π΅Ρ€Ρ€ΠΈΡ‚ΠΎΡ€ΠΈΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° (Ρ‚.ΠΊ. ΠΎΠ½ΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ пСрспСктивныС, интСрСсныС для нас. ΠœΡ‹ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΠΈΠ½Π²Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ своС врСмя Π² Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ²), Π° с ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌΠΈ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ Π‘, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒΡΡ подпиской Π½Π° рассылку.

3. ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈ Π›ΠŸΠ Β 

Π›ΠŸΠ  β€” Π»ΠΈΡ†ΠΎ, ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰Π΅Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅. ΠšΡ‚ΠΎ Π² Π’Π°ΡˆΠ΅ΠΌ случаС опрСдСляСт Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π’Π°ΠΌΠΈ? Часто ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Ρ‹ Π½Π°ΠΏΡ€ΠΎΠ»ΠΎΠΌ ΠΏΡ€ΠΎΠ±ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΊ Ρ€ΡƒΠΊΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŽ, Π½Π΅ понимая, Ρ‡Ρ‚ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΈΡ… вопросу Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, вСроятно ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ. Π­Ρ‚ΠΎ Π²Π°ΠΆΠ½Ρ‹ΠΉ шаг, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ влияСт Π½Π° Π½Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ нашСго скрипта эффСктивными Ρ€Π΅Ρ‡Π΅Π²Ρ‹ΠΌΠΈ ΠΎΠ±ΠΎΡ€ΠΎΡ‚Π°ΠΌΠΈ.

4. Наполни Ρ‚Π°Ρ€Π³Π΅Ρ‚-лист

Π’Π°Ρ€Π³Π΅Ρ‚-лист β€” это список ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ для привлСчСния. Π― Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ ΠΈΠΌΠ΅Ρ‚ΡŒ нСбольшой список Ρ‚Π΅Ρ…, ΠΊΠΎΠΌΡƒ Π’Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠ·Π²ΠΎΠ½ΠΈΡ‚ΡŒΒ ΡƒΠΆΠ΅ Π² процСссС составлСния скрипта.

5. ΠŸΡ€ΠΎΠ΄ΡƒΠΌΠ°ΠΉ Π²Ρ‹Ρ…ΠΎΠ΄ Π½Π° Π›ΠŸΠ 

Π§Ρ‚ΠΎ Π’Ρ‹ скаТСтС ΡΠ΅ΠΊΡ€Π΅Ρ‚Π°Ρ€ΡŽ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ Вас соСдинил с Ρ€ΡƒΠΊΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΌ. МнС ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ достаточно 2-3 Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΠΎΠΉΡ‚ΠΈ ΠΏΠΎΡ‡Ρ‚ΠΈ любого сСкрСтаря. Π’ курсС 10 Π·Π²ΠΎΠ½ΠΊΠΎΠ² β€” 10 ΠΏΡ€ΠΎΠ΄Π°ΠΆ я ΠΎ Ρ‚Π°ΠΊΠΈΡ… Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ°Ρ… Ρ€Π°ΡΡΠΊΠ°Π·Ρ‹Π²Π°ΡŽ.

6.Β ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈ ΠΈΠ΄Π΅Π°Π»ΡŒΠ½ΡƒΡŽ линию Ρ€Π°Π·Π³ΠΎΠ²ΠΎΡ€Π° с Π›ΠŸΠ 

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π’Π°Ρˆ Ρ€Π°Π·Π³ΠΎΠ²ΠΎΡ€ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ идСально Π³Π»Π°Π΄ΠΊΠΎ. ΠšΠ»ΠΈΠ΅Π½Ρ‚ Π½Π΅ Π²ΠΎΠ·Ρ€Π°ΠΆΠ°Π΅Ρ‚. ΠŸΠΎΠ΄ΡƒΠΌΠ°ΠΉΡ‚Π΅, с Ρ‡Π΅Π³ΠΎ Π’Ρ‹ Π½Π°Ρ‡Π½Π΅Ρ‚Π΅ бСсСду, ΠΊΠ°ΠΊ ΡƒΡ‚Π΅ΠΏΠ»ΠΈΡ‚Π΅ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚, ΠΊΠ°ΠΊ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ свою ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ. Π― ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π²Ρ‹Π΄Π΅Π»ΡΡŽ 4 ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… Π² этом Π±Π»ΠΎΠΊΠ΅, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… расскаТу Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ (Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ° Β«Π’Π£Π£Π—Β»).

7. Π”ΠΎΠ±Π°Π²ΡŒ Π²Π΅Ρ‚Π²ΠΈΡΡ‚ΠΎΡΡ‚ΡŒ

Π‘ΠΊΡ€ΠΈΠΏΡ‚ ΠΏΡ€ΠΎΠ΄Π°ΠΆ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ Ρ€Π°Π·Π½Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ повСдСния ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ². Он ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ³Π»Π°ΡΠΈΡ‚ΡŒΡΡ с Π’Π°ΠΌΠΈ сразу (Π² Ρ‚Π°ΠΊΠΎΠΌ случаС сработаСт Π’Π°ΡˆΠ° идСальная линия Ρ€Π°Π·Π³ΠΎΠ²ΠΎΡ€Π°), Π»ΠΈΠ±ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΈ Π²ΠΎΠ·Ρ€Π°ΠΆΠ°Ρ‚ΡŒ. На 7 шагС Π²Π°ΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ ΠΎΡ‚ΠΊΠ°Π·Ρ‹ ΠΈ ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ΠΊΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°. Π― ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π²Ρ‹Π΄Π΅Π»ΡΡŽ возраТСния ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Π΅ (ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ Π½Π° любом ΡƒΠ·Π»Π΅ скрипта) ΠΈ ΡƒΠ·Π»ΠΎΠ²Ρ‹Π΅ (ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ ΡƒΠ·Π»Π΅. НапримСр, Π²ΠΎ врСмя установлСния ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π°). ΠŸΡ€Π΅ΠΎΠ΄ΠΎΠ»Π΅Ρ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ возраТСния Π’Π°ΠΌ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ курс Π₯Π°ΠΊΠ΅Ρ€ Π²ΠΎΠ·Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. Π’Π°ΠΌ Π΅ΡΡ‚ΡŒ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΏΡ€ΠΈΠ΅ΠΌΡ‹ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π»ΡŽΠ±Ρ‹Ρ… Π²ΠΎΠ·Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ.

8. Автоматизируй скрипт

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

9. Π£Π»ΡƒΡ‡ΡˆΠ°ΠΉ!

Π‘Π»Π΅Π΄ΠΈΡ‚Π΅ Π·Π° конвСрсиСй ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡƒΠ·Π»Π°, скрипта Π² Ρ†Π΅Π»ΠΎΠΌ, ΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ Π½Π° возраТСния ΠΈ способы Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ. И Ρƒ Вас получится ΡƒΠ±ΠΎΠΉΠ½Ρ‹ΠΉ скрипт ΠΏΡ€ΠΎΠ΄Π°ΠΆ!

Π‘ ΡƒΠ²Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ, ОлСг (Π΄Ρ€ΡƒΠΆΠΈΡ‚ΡŒ Π² Π’Πš, инстаграм)

P.s. Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡŽ создания скриптов я Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π» Π½Π° ΠΎΠ½Π»Π°ΠΉΠ½-Ρ‚Ρ€Π΅Π½ΠΈΠ½Π³Π΅ (Ρ‚ΠΎΡ‡Π½Π΅Π΅ β€” Π²ΠΎΡ€ΠΊΡˆΠΎΠΏΠ΅) Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ ΠΏΡ€ΠΎΠ΄Π°ΠΆ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ΡΡ‚Ρ€Π΅Π»ΠΈΠ²Π°ΡŽΡ‚. ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅Β ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΡΡ‚ΠΈ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΡˆΠ»ΠΎ мСроприятиС, ΠΊΠ°ΠΊΠΈΠ΅ Π²Ρ‹Π²ΠΎΠ΄Ρ‹ я сдСлал для сСбя Π² Ρ…ΠΎΠ΄Π΅ общСния с участниками. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΈ для Вас ΠΈ Π’Π°ΡˆΠ΅ΠΉ ситуации это Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ.

ΠŸΠΎΠ»Π΅Π·Π½Ρ‹Π΅ ссылки:

ΠŸΡ€ΠΈΠ΅ΠΌΡ‹ написания скриптов Π² Bash / Π₯Π°Π±Ρ€

Администраторам Linux ΠΏΠΈΡΠ°Ρ‚ΡŒ скрипты Π½Π° Bash приходится рСгулярно. НиТС я ΠΏΡ€ΠΈΠ²ΠΎΠΆΡƒ совСты, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ эту Ρ€Π°Π±ΠΎΡ‚Ρƒ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ скриптов.

Π‘ΠΎΠ²Π΅Ρ‚ 1

НС ΠΏΠΈΡˆΠΈΡ‚Π΅ скриптов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ дСйствия Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°Ρ. Π’Π°ΠΊΠΈΠ΅ скрипты Π½ΡƒΠΆΠ½Ρ‹ довольно Ρ€Π΅Π΄ΠΊΠΎ. А Π²ΠΎΡ‚ всСвозмоТного Β«Π΄ΠΎΠ±Ρ€Π°Β» для копирования, синхронизации, запуска Ρ‡Π΅Π³ΠΎ-Π»ΠΈΠ±ΠΎ, Ρ…ΠΎΡ‚ΡŒ отбавляй. И Ссли Π² любимом Midnight Commander Π’Ρ‹ Π²Π΄Ρ€ΡƒΠ³ Π½Π°ΠΆΠ°Π»ΠΈ Π½Π΅ Π½Π° Ρ‚ΠΎΡ‚ скрипт, Ρ‚ΠΎ с систСмой ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΡ‚ΠΈ всС Ρ‡Ρ‚ΠΎ ΡƒΠ³ΠΎΠ΄Π½ΠΎ. Π­Ρ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»Π° Π΄ΠΎΡ€ΠΎΠΆΠ½ΠΎΠ³ΠΎ двиТСния β€” «написано ΠΊΡ€ΠΎΠ²ΡŒΡŽΒ».

Π‘ΠΎΠ²Π΅Ρ‚ 2

ΠžΡ‚Ρ‚Π°Π»ΠΊΠΈΠ²Π°ΡΡΡŒ ΠΎΡ‚ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ, Π² Π½Π°Ρ‡Π°Π»ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ скрипта Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎ ΠΏΠΎΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅:

read -n 1 -p "Π’Ρ‹ ΡƒΠ²Π΅Ρ€Π΅Π½, Ρ‡Ρ‚ΠΎ Ρ…ΠΎΡ‡Π΅ΡˆΡŒ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ это (y/[a]): " AMSURE 
[ "$AMSURE" = "y" ] || exit
echo "" 1>&2

Команда echo, кстати, здСсь Π½ΡƒΠΆΠ½Π° ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ послС наТатия ΠΊΠ½ΠΎΠΏΠΊΠΈ Ρƒ вас Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° строки, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ любой Π²Ρ‹Π²ΠΎΠ΄ ΠΏΠΎΠΉΠ΄Π΅Ρ‚ Π² эту ΠΆΠ΅ строку.

Π‘ΠΎΠ²Π΅Ρ‚ 3

Π­Ρ‚ΠΎ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠΉ совСт ΠΈΠ· всСх. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ ΠΆΠ΅ β€” ΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. ΠŸΡ€ΠΎΡ‡ΠΈΡ‚Π°Π² ΠΌΠ½ΠΎΠ³ΠΎ статСй ΠΏΠΎ Bash, я Π²Ρ‹Π½ΡƒΠΆΠ΄Π΅Π½ ΠΊΠΎΠ½ΡΡ‚Π°Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ этой Ρ‚Π΅ΠΌΠ΅ удСляСтся ΠΌΠ°Π»ΠΎ внимания. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π² силу очСвидности. Однако я ΡΡ‡ΠΈΡ‚Π°ΡŽ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌ Π½Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΎΠ± этом. Π˜Ρ‚Π°ΠΊ.
Π—Π°Π²Π΅Π΄ΠΈΡ‚Π΅ свою Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ myfunc.sh ΠΈ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅ Π΅Π΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π² /usr/bin. ΠŸΡ€ΠΈ написании скриптов ΠΎΠ½Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ ваш Ρ‚Ρ€ΡƒΠ΄, Π½ΠΎ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΠΎΠ΄Π½ΠΈΠΌ ΠΌΠ°Ρ…ΠΎΠΌ Π΄ΠΎΡ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ мноТСство скриптов, Ссли Π’Ρ‹ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚Π΅ ΠΊΠ°ΠΊΡƒΡŽ-Π»ΠΈΠ±ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ.
НапримСр, Π² свСтС совСта 2 ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‚Π°ΠΊΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ:

myAskYN() 
{
local AMSURE
if [ -n "$1" ] ; then
   read -n 1 -p "$1 (y/[a]): " AMSURE
else
   read -n 1 AMSURE
fi
echo "" 1>&2
if [ "$AMSURE" = "y" ] ; then
   return 0
else
   return 1
fi
}

ЕдинствСнным Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ эта функция ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ строку вопроса. Если строка Π½Π΅ Π·Π°Π΄Π°Π½Π° β€” ΠΌΠΎΠ»Ρ‡Π°Π»ΠΈΠ²ΠΎΠ΅ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ наТатия (Π² случаях, ΠΊΠΎΠ³Π΄Π° скрипт ΡƒΠΆΠ΅ успСл вывСсти всС Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π΅Ρ‰Π΅ Π΄ΠΎ Π²Ρ‹Π·ΠΎΠ²Π° этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ). Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊΠΎΠ΅:

myAskYN "Π’Ρ‹ ΡƒΠ²Π΅Ρ€Π΅Π½, Ρ‡Ρ‚ΠΎ Ρ…ΠΎΡ‡Π΅ΡˆΡŒ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ это?" || exit

МоТно Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈ Π΅Ρ‰Π΅ ΠΎΠ΄Π½Ρƒ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ myAskYNE, с Π±ΡƒΠΊΠ²ΠΎΠΉ E Π½Π° ΠΊΠΎΠ½Ρ†Π΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ return Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½Π° exit. Π’ΠΎΠ³Π΄Π° запись Π±ΡƒΠ΄Π΅Ρ‚ Π΅Ρ‰Π΅ ΠΏΡ€ΠΎΡ‰Π΅:

myAskYNE "Π’Ρ‹ ΡƒΠ²Π΅Ρ€Π΅Π½, Ρ‡Ρ‚ΠΎ Ρ…ΠΎΡ‡Π΅ΡˆΡŒ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ это?"

ΠŸΠ»ΡŽΡΡ‹ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹: Π°) ΠΏΠΈΡˆΠ΅Ρ‚Π΅ мСньшС ΠΊΠΎΠ΄Π°, Π±) ΠΊΠΎΠ΄ Π»Π΅Π³Ρ‡Π΅ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ, Π²) Π½Π΅ ΠΎΡ‚Π²Π»Π΅ΠΊΠ°Π΅Ρ‚Π΅ΡΡŒ Π½Π° ΠΌΠ΅Π»ΠΎΡ‡ΠΈ, Π²Ρ€ΠΎΠ΄Π΅ приставки » (y/[a]): » ΠΊ тСсту (Π·Π°ΠΌΠ΅Ρ‡Ρƒ, Ρ‡Ρ‚ΠΎ [a] ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ any, Π° забранная Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ это ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ).
И послСднСС здСсь. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ· нашСй Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Π΅Π΅ Π½Π°Π΄ΠΎ Π½Π΅ Π·Π°Π±Ρ‹Ρ‚ΡŒ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π² сам скрипт:

#!/bin/bash 
a1=myfunc.sh ; source "$a1" ; if [ $? -ne 0 ] ; then echo "Ошибка β€”
Π½Π΅Ρ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ $a1" 1>&2 ; exit 1 ; fi 

myAskYN "Π’Ρ‹ ΡƒΠ²Π΅Ρ€Π΅Π½, Ρ‡Ρ‚ΠΎ Ρ…ΠΎΡ‡Π΅ΡˆΡŒ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ это?" 
echo Run!

Π― Π½Π°ΠΌΠ΅Ρ€Π΅Π½Π½ΠΎ ΡƒΠ»ΠΎΠΆΠΈΠ» вСсь Π²Ρ‹Π·ΠΎΠ² ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ошибки Π² ΠΎΠ΄Π½Ρƒ строку, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ это Π²Π΅Ρ‰ΡŒ стандартная ΠΈ Π½Π΅ относится Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΊ Π»ΠΎΠ³ΠΈΠΊΠ΅ скрипта. Π—Π°Ρ‡Π΅ΠΌ ΠΆΠ΅ Π΅Π΅ Ρ€Π°ΡΡ‚ΡΠ³ΠΈΠ²Π°Ρ‚ΡŒ Π½Π° ΠΏΠΎΠ»-экрана? ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ имя скрипта присваиваСтся ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. Π­Ρ‚ΠΎ позволяСт Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ имя скрипта ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·, Π° стало Π±Ρ‹Ρ‚ΡŒ, ΠΌΠΎΠΆΠ½ΠΎ Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ строку ΠΈ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ имя Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Ссли Π½Π°Π΄ΠΎ.
Π’Π΅ΠΏΠ΅Ρ€ΡŒ любой скрипт, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΉΡΡ с этих Ρ‚Ρ€Π΅Ρ… строчСк Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π±Π΅Π· подтвСрТдСния. ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽ Π²Π°ΠΌ самим Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΡƒΡŽ myAskYN Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡƒΡŽ myAskYESNO.

Π‘ΠΎΠ²Π΅Ρ‚ 4

РазовьСм успСх ΠΈ продСмонстрируСм нСсколько ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ с ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ коммСнтариями.

sayWait() 
{ 
   local AMSURE 
   [ -n "$1" ] && echo "$@" 1>&2 
   read -n 1 -p "(Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π»ΡŽΠ±ΡƒΡŽ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ для продолТСния)" AMSURE 
   echo "" 1>&2 
} 
 
 cdAndCheck() 
{ 
   cd "$1" 
   if ! [ "$(pwd)" = "$1" ] ; then 
      echo "!!НС ΠΌΠΎΠ³Ρƒ Π²ΡΡ‚Π°Ρ‚ΡŒ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ $1 - ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. Π’Ρ‹Ρ…ΠΎΠ΄ΠΈΠΌ." 1>&2 
      exit 1 
   fi 
} 
 
 checkDir() 
{ 
   if ! [ -d "$1" ] ; then 
      if [ -z "$2" ] ; then 
         echo "!!НСт Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ $1 - ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. Π’Ρ‹Ρ…ΠΎΠ΄ΠΈΠΌ." 1>&2 
      else 
         echo "$2" 1>&2 
      fi 
      exit 1 
   fi 
} 
checkFile() 
{ 
   if ! [ -f "$1" ] ; then 
      if [ -z "$2" ] ; then 
         echo "!!НСт Ρ„Π°ΠΉΠ»Π° $1 - ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. Π’Ρ‹Ρ…ΠΎΠ΄ΠΈΠΌ." 1>&2 
      else 
         echo "$2" 1>&2 
      fi 
      exit 1 
   fi 
} 
checkParm() 
{ 
   if [ -z "$1" ] ; then 
      echo "!!$2. ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.  Π’Ρ‹Ρ…ΠΎΠ΄ΠΈΠΌ." 1>&2 
      exit 1 
   fi 
}

Π—Π΄Π΅ΡΡŒ ΠΎΠ±Ρ€Π°Ρ‰Ρƒ вашС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° постоянно Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‰Π΅Π΅ΡΡ сочСтаниС 1>&2 послС echo. Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ваши скрипты, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π΅ΠΊΡƒΡŽ Ρ†Π΅Π½Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ. И Π½Π΅ всСгда эта информация Π²Π»Π΅Π·Π΅Ρ‚ Π² экран, Π° ΠΏΠΎΡ‚ΠΎΠΌΡƒ Π΅Π΅ Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎ Π±Ρ‹Π²Π°Π΅Ρ‚ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² Ρ„Π°ΠΉΠ» ΠΈΠ»ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π½Π° less. ΠšΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡ 1>&2 ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²Ρ‹Π²ΠΎΠ΄Π° Π½Π° стандартноС устройство ошибок. И ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚Π΅ скрипт Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

my-script.sh > out.txt
my-script.sh | less

Π² Π½Π΅ΠΌ Π½Π΅ окаТСтся Π»ΠΈΡˆΠ½ΠΈΡ… ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½Ρ‹Ρ… ΠΈ слуТСбных сообщСний, Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ вывСсти.

Π‘ΠΎΠ²Π΅Ρ‚ 5

Π’ Bash Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ обстоят Π΄Π΅Π»Π° с Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ΠΎΠΌ значСния ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Однако ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ собствСнной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ этот вопрос Π»Π΅Π³ΠΊΠΎ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ. ΠŸΡ€ΠΎΡΡ‚ΠΎ Π·Π°Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ функция Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π½ΠΎΡΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π° ΠΏΠΎ Π²Ρ‹Ρ…ΠΎΠ΄Ρƒ ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ эту ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ. ΠšΡΡ‚Π°Ρ‚ΠΈ, объявлСниС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π² Π½Π°Ρ‡Π°Π»ΠΎ самой Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π²Π°ΡˆΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Π’Π°ΠΊΠΆΠ΅, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ завСсти ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ повсСмСстно. Π’ΠΎΡ‚ Π½Π°Ρ‡Π°Π»ΠΎ вашСй Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ:

curPath=  # пСрСмСнная с Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹ΠΌ ΠΏΡƒΡ‚Π΅ΠΌ, Π³Π΄Π΅ находится скрипт
cRes=     # пСрСмСнная для Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° тСкстовых Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ
pYes=     # ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ --yes, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ обсудим ΠΏΠΎΠ·Π΄Π½Π΅Π΅

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Π΅Ρ‰Π΅ Ρ‚Π°ΠΊΡƒΡŽ ΠΏΠΎΠ»Π΅Π·Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ:

input1() 
{ 
   local a1 
 
   if [ -n "$1" ] ; then 
      read -p "$1" -sn 1 cRes 
   else 
      read -sn 1 cRes 
   fi 
 
   # ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° допустимых Π²Ρ‹Π±ΠΎΡ€ΠΎΠ² 
   while [ "$2" = "${2#*$cRes}" ] ; do 
      read -sn 1 cRes 
   done 
   echo $cRes 1>&2 
}

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π΅Π΅ использования:

cat <<'EOF' 
Π’Ρ‹Π±Π΅Ρ€ΠΈ ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠ΅ дСйствиС: 
------------------------ 
   a) ДСйствиС 1 
   b) ДСйствиС 2 
   .) Π’Ρ‹Ρ…ΠΎΠ΄ 
EOF 
input1 "Π’Π²ΠΎΠΉ Π²Ρ‹Π±ΠΎΡ€: " "ab." 
echo "Π’Ρ‹Π±ΠΎΡ€ Π±Ρ‹Π»: $cRes"

Π­Ρ‚Π° функция ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ клавиш Π΄ΠΎ списка ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… (Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€ это a, b, ΠΈ Ρ‚ΠΎΡ‡ΠΊΠ°). НикакиС ΠΈΠ½Ρ‹Π΅ клавиши Π²ΠΎΡΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒΡΡ Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈ ΠΏΡ€ΠΈ ΠΈΡ… Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½ΠΈΡ‡Π΅Π³ΠΎ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Ρ‚ΠΎΠΆΠ΅ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ использованиС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° ($cRes). Π’ Π½Π΅ΠΉ возвращаСтся Π±ΡƒΠΊΠ²Π°, наТатая ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ.

Π‘ΠΎΠ²Π΅Ρ‚ 6

Какой скрипт Π±Π΅Π· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²? Об ΠΈΡ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ написано Ρ‚ΠΎΠ½Π½Ρ‹ Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹. ПодСлюсь своим Π²ΠΈΠ΄Π΅Π½ΠΈΠ΅ΠΌ.

  1. ΠšΡ€Π°ΠΉΠ½Π΅ ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π»ΠΈΡΡŒ нСзависимо ΠΎΡ‚ ΠΈΡ… ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.
  2. Π― Π½Π΅ люблю ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ±ΡƒΠΊΠ²Π΅Π½Π½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ (Π° ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈ getopts) ΠΏΠΎ Ρ‚ΠΎΠΉ простой ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅, Ρ‡Ρ‚ΠΎ скриптов ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ, Π° Π±ΡƒΠΊΠ² ΠΌΠ°Π»ΠΎ. И Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ для ΠΎΠ΄Π½ΠΎΠ³ΠΎ скрипта -r ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ replace, для Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ replicate, Π° для Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅Π³ΠΎ Π²ΠΎΠΎΠ±Ρ‰Π΅ remove практичСски Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ 2 Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ: Π°) —show-files-only, Π±) -sfo (ΠΊΠ°ΠΊ сокращСниС ΠΎΡ‚ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ). ΠŸΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ»ΡŽΡ‡ΠΈ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‚ΡΡ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ ΠΈ ΠΎΡ‡Π΅Π½ΡŒ Π½Π°Π΄ΠΎΠ»Π³ΠΎ.
  3. Π‘ΠΊΡ€ΠΈΠΏΡ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹Π΄Π°Π²Π°Ρ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ Π½Π° нСизвСстный Π΅ΠΌΡƒ ΠΊΠ»ΡŽΡ‡. Π­Ρ‚ΠΎ частично ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΡΠ²ΠΈΡ‚ΡŒ ошибки ΠΏΡ€ΠΈ написании ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ².
  4. Из совСта 2 возьмСм ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ: Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ скрипт Π±Π΅Π· подтвСрТдСния. Но Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΊ этому Π²Π°ΠΆΠ½ΠΎΠ΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ β€” Ссли Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½ ΠΊΠ»ΡŽΡ‡ —yes (ΠΊΠ»ΡŽΡ‡, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π»ΡŽΠ±Ρ‹ΠΌ).
  5. ΠšΠ»ΡŽΡ‡ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°Ρ‚ΡŒΡΡ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ. Π’ этом случаС для Π΄Π»ΠΈΠ½Π½Ρ‹Ρ… ΠΊΠ»ΡŽΡ‡Π΅ΠΉ дСйствуСт Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ: —source-file=my.txt (написаниС Ρ‡Π΅Ρ€Π΅Π· Ρ€Π°Π²Π½ΠΎ), Π° для ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΡ… Ρ‚Π°ΠΊΠΎΠ΅: -sf my.txt (Ρ‡Π΅Ρ€Π΅Π· ΠΏΡ€ΠΎΠ±Π΅Π»).

Π’ этом свСтС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

while [ 1 ] ; do 
   if [ "$1" = "--yes" ] ; then 
      pYes=1 
   elif [ "${1#--source-file=}" != "$1" ] ; then 
      pSourceFile="${1#--source-file=}" 
   elif [ "$1" = "-sf" ] ; then 
      shift ; pSourceFile="$1" 
   elif [ "${1#--dest-file=}" != "$1" ] ; then 
      pDestFile="${1#--dest-file=}" 
   elif [ "$1" = "-df" ] ; then 
      shift ; pDestFile="$1" 
   elif [ -z "$1" ] ; then 
      break # ΠšΠ»ΡŽΡ‡ΠΈ ΠΊΠΎΠ½Ρ‡ΠΈΠ»ΠΈΡΡŒ 
   else 
      echo "Ошибка: нСизвСстный ΠΊΠ»ΡŽΡ‡" 1>&2 
      exit 1 
   fi 
   shift 
done 
 
checkParm "$pSourceFile" "НС Π·Π°Π΄Π°Π½ исходный Ρ„Π°ΠΉΠ»" 
checkParm "$pDestFile" "НС Π·Π°Π΄Π°Π½ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΉ Ρ„Π°ΠΉΠ»" 
 
if [ "$pYes" != "1" ] ; then 
   myAskYNE "Π’Ρ‹ ΡƒΠ²Π΅Ρ€Π΅Π½, Ρ‡Ρ‚ΠΎ Ρ…ΠΎΡ‡Π΅ΡˆΡŒ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ это?" 
fi 
echo "source=$pSourceFile, destination=$pDestFile"

Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ Π΄Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ возмоТности:Π­Ρ‚ΠΎ базовая Ρ‡Π°ΡΡ‚ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒ ΠΈ дальшС. НапримСр, Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΏΠ°Ρ€Ρƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π² Π½Π°ΡˆΡƒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ:

procParmS() 
{ 
   [ -z "$2" ] && return 1 
   if [ "$1" = "$2" ] ; then 
      cRes="$3" 
      return 0 
   fi 
   return 1 
} 
procParmL() 
{ 
   [ -z "$1" ] && return 1 
   if [ "${2#$1=}" != "$2" ] ; then 
      cRes="${2#$1=}" 
      return 0 
   fi 
   return 1 
} 

ΠŸΡ€ΠΈ этом Ρ†ΠΈΠΊΠ» ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±ΠΎΠ²Π°Ρ€ΠΈΠΌΡ‹ΠΌ:

while [ 1 ] ; do 
   if [ "$1" = "--yes" ] ; then 
      pYes=1 
   elif procParmS "-sf" "$1" "$2" ; then 
      pSourceFile="$cRes" ; shift 
   elif procParmL "--source-file" "$1" ; then 
      pSourceFile="$cRes" 
   elif procParmS "-df" "$1" "$2" ; then 
      pDestFile="$cRes" ; shift 
   elif procParmL "--dest-file" "$1" ; then 
      pDestFile="$cRes" 
   elif [ -z "$1" ] ; then 
      break # ΠšΠ»ΡŽΡ‡ΠΈ ΠΊΠΎΠ½Ρ‡ΠΈΠ»ΠΈΡΡŒ 
   else 
      echo "Ошибка: нСизвСстный ΠΊΠ»ΡŽΡ‡" 1>&2 
      exit 1 
   fi 
   shift 
done

ЀактичСски, этот Ρ†ΠΈΠΊΠ» ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ· скрипта Π² скрипт Π½Π΅ Π·Π°Π΄ΡƒΠΌΡ‹Π²Π°ΡΡΡŒ Π½ΠΈ ΠΎ Ρ‡Π΅ΠΌ, ΠΊΡ€ΠΎΠΌΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠΉ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ΠΈ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ для этого ΠΊΠ»ΡŽΡ‡Π°. ΠŸΡ€ΠΈΡ‡Π΅ΠΌ ΠΎΠ½ΠΈ Π² Π΄Π°Π½Π½ΠΎΠΌ случаС Π½Π΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‚ΡΡ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ошибки ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½Π°.
НСт ΠΏΡ€Π΅Π΄Π΅Π»Π° ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²Ρƒ, ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π΅Ρ‰Π΅ Π΄ΠΎΠ»Π³ΠΎ Β«ΡƒΠ»ΡƒΡ‡ΡˆΠ°Ρ‚ΡŒΒ» Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π² procParmS ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π½Π° нСпустоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΈ Π²Ρ‹Π²Π°Π»ΠΈΡ‚ΡŒΡΡ ΠΏΠΎ ошибкС Π² Ρ‚Π°ΠΊΠΎΠΌ случаС. И Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.
Π€Π°ΠΉΠ» Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈΠ· этого ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ здСсь.
ВСстовый Ρ„Π°ΠΉΠ» здСсь.

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ скрипт Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ

ΠžΠΏΡ‹Ρ‚Π½Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ всСгда ΠΏΡ‹Ρ‚Π°ΡŽΡ‚ΡΡ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ с ПК ΠΈ навСрняка захотят ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ скрипт Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ ΠΈ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ»

ΠŸΠ°ΠΊΠ΅Ρ‚Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» – это Ρ‚Π΅Ρ€ΠΌΠΈΠ½, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ часто приходится ΡΠ»Ρ‹ΡˆΠ°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ ПК. По сути, это способ Π΄Π΅Π»Π°Ρ‚ΡŒ Π²Π΅Ρ‰ΠΈ, Π½Π΅ дСлая ΠΈΡ… Π½Π° самом Π΄Π΅Π»Π΅. Набор ΠΊΠΎΠΌΠ°Π½Π΄ Ρ‚Π°ΠΊΠΆΠ΅ извСстСн ΠΊΠ°ΠΊ скрипт.

Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, это Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ сцСнария, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Π·Π°Π΄Π°Ρ‡ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах DOS, Windows ΠΈ OS / 2.

Многим ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ извСстСн Ρ‚Π΅Ρ€ΠΌΠΈΠ½ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки, извСстный ΠΊΠ°ΠΊ CMD ΠΈΠ»ΠΈ командная строка. Он ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ Π² Π²ΠΈΠ΄Π΅ Π²Π²ΠΎΠ΄Π° с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΈΡ….

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

Π—Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ΅Π½ скрипт

Π‘ΠΊΡ€ΠΈΠΏΡ‚ экономит врСмя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΎΠ΄Π½ΠΈ ΠΈ Ρ‚Π΅ ΠΆΠ΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ снова ΠΈ снова.

НапримСр, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы Ρ‡Π΅Ρ€Π΅Π· ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ врСмя с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ CMD. Когда Π±ΡƒΠ΄Π΅Ρ‚ создан Π½ΡƒΠΆΠ½Ρ‹ΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚, достаточно Π±ΡƒΠ΄Π΅Ρ‚ лишь Π΄Π²Π°ΠΆΠ΄Ρ‹ Ρ‰Π΅Π»ΠΊΠ½ΡƒΡ‚ΡŒ ΠΏΠΎ Π½Π΅ΠΌΡƒ. Он запустится, ΠΈ систСма Π²Ρ‹ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡΡ ΠΏΠΎ истСчСнии установлСнного Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

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

ΠŸΡ€ΠΈ создании ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠ³ΠΎ элСмСнта Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ†ΠΈΠΊΠ»Ρ‹ (for), условныС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ (if), ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ (go to) ΠΈ Ρ‚. Π΄. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ call.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ bat ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹

ПолСзно Π±ΡƒΠ΄Π΅Ρ‚ Π·Π½Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ bat Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹:

  • Title ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡΠ΄Π»ΡΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΡ‚Π΅ΠΊΡΡ‚Π°Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ³ΠΎ Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ части ΠΎΠΊΠ½Π° CMD.
  • Echo – ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Π²Ρ…ΠΎΠ΄Π½ΠΎΠΉ ряд ΠΊΠ°ΠΊ Π²Ρ‹Π²ΠΎΠ΄. Π–Π΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΡ†ΠΈΡŽ ON ΠΈΠ»ΠΈ OFF для ECHO, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ Π²Ρ‹ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ echo. Π­Ρ‚Π° функция позволяСт Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π° экранС Ρ‚Π΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ.
  • Pause ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для остановки выполнСния скрипта.
  • Exit – функция для Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π°.
  • Cls примСняСтся для очистки экрана ΠΎΡ‚ всСх ΠΊΠΎΠΌΠ°Π½Π΄.
  • :: – Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ. Командная строка ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅Ρ‚ любой тСкст, написанный ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ.

Π’Ρ‹ΡˆΠ΅ пСрСчислСно Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ с ОБ. ΠŸΠ°ΠΊΠ΅Ρ‚Π½Ρ‹ΠΉ скрипт Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ внСшниС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. Они Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ установкС Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния Π² систСмС. НапримСр, Ссли Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ установлСн Google Chrome, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ Β«chromeΒ» Π² ΠΎΠΊΠ½Π΅ CMD.

ВсС эти ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ простой bat-Ρ„Π°ΠΉΠ». Π•ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ свой скрипт, ΠΈΠ·ΡƒΡ‡ΠΈΠ² большС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈΠ· списка CMD.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ bat-скрипта Π² Windows

Π’ Windows ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ», ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ шаги Π½ΠΈΠΆΠ΅ ΠΈΠ»ΠΈ шаги, упомянутыС Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки MS-DOS. Если ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ стандартныС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π»ΡŽΠ±Ρ‹ΠΌ тСкстовым Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠΌ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π‘Π»ΠΎΠΊΠ½ΠΎΡ‚ ΠΈΠ»ΠΈ WordPad) для создания ΠΏΠ°ΠΊΠ΅Ρ‚Π½Ρ‹Ρ… Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ².

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ скрипт с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ bat Π² Π±Π»ΠΎΠΊΠ½ΠΎΡ‚Π΅, стоит Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ дСйствия:

  1. Π©Π΅Π»ΠΊΠ½ΡƒΡ‚ΡŒ ΠŸΡƒΡΠΊ.
  2. ВвСсти Π‘Π»ΠΎΠΊΠ½ΠΎΡ‚ Π² ΠΏΠΎΠ»Π΅ Β«Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒΒ» ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Enter. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ любой Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΉ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ тСкстовых элСмСнтов, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Notepad ++.
  3. Когда Π‘Π»ΠΎΠΊΠ½ΠΎΡ‚ откроСтся, ввСсти ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ строчки ΠΈΠ»ΠΈ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΈΡ….
  4. Π©Π΅Π»ΠΊΠ½ΡƒΡ‚ΡŒ Β«Π€Π°ΠΉΠ»Β», Π·Π°Ρ‚Π΅ΠΌ Β«Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒΒ» ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² ΠΏΠ°ΠΏΠΊΡƒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ. Π’ качСствС ΠΈΠΌΠ΅Π½ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ввСсти test.bat. Если Π² вСрсии ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы Π΅ΡΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Β«Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΒ», Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ «ВсС Ρ„Π°ΠΉΠ»Ρ‹Β», Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС ΠΎΠ½ сохраняСтся ΠΊΠ°ΠΊ тСкстовый. Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ² эти шаги, Π½Π°ΠΆΠ°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒΒ» ΠΈ Π²Ρ‹ΠΉΡ‚ΠΈ ΠΈΠ· Π±Π»ΠΎΠΊΠ½ΠΎΡ‚Π°.
  5. Π§Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚, слСдуСт Π΄Π²Π°ΠΆΠ΄Ρ‹ Ρ‰Π΅Π»ΠΊΠ½ΡƒΡ‚ΡŒ Π½Π° Π½Π΅Π³ΠΎ. Окно CMD откроСтся автоматичСски с ΠΆΠ΅Π»Π°Π΅ΠΌΡ‹ΠΌ Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠΌ. ПослС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ выполнСния, ΠΎΠΊΠ½ΠΎ автоматичСски закрываСтся.
  6. МоТно ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ echo on Π² шаг 2, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ происходит Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строчкС.

Π¨Π°Π³ΠΈ для создания скриптов практичСски ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹, нСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, установлСна вСрсия Windows 10, 8.1, 7 ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ XP.

Π‘Ρ‚ΠΎΠΈΡ‚ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ cmd вмСсто Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ bat.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ bat-Ρ„Π°ΠΉΠ»Π° Π² MS-DOS

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Π½Ρ‹ΠΉ элСмСнт Π² MS-DOS ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС Windows, Π²Π°ΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ дСйствия:

  1. ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ MS-DOS ΠΈΠ»ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ MS-DOS.
  2. Π’ строкС MS-DOS ввСсти: edit test.bat ΠΈ Π½Π°ΠΆΠ°Ρ‚ΡŒ Enter.
  3. Если Π²Π²Π΅Π΄Π΅Π½ΠΎ всС ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, появится синий экран рСдактирования.
  4. ПослС Π²Π²ΠΎΠ΄Π° этих строчСк Ρ‰Π΅Π»ΠΊΠ½ΡƒΡ‚ΡŒ Β«Π€Π°ΠΉΠ»Β» ΠΈ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Β«Π’Ρ‹Ρ…ΠΎΠ΄Β». Когда Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ элСмСнт, Π½Π°ΠΆΠ°Ρ‚ΡŒ Β«Π”Π°Β». ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅Ρ‚ ΠΌΡ‹ΡˆΠΈ, ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ эту ΠΆΠ΅ Π·Π°Π΄Π°Ρ‡Ρƒ, Π½Π°ΠΆΠ°Π² Alt + F для доступа ΠΊ мСню, Π° Π·Π°Ρ‚Π΅ΠΌ X для Π²Ρ‹Ρ…ΠΎΠ΄Π°. ΠΠ°ΠΆΠ°Ρ‚ΡŒ Enter, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ измСнСния.
  5. Π’Π΅Ρ€Π½ΡƒΠ²ΡˆΠΈΡΡŒ ΠΊ ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΡŽ MS-DOS, ввСсти: test ΠΈ Π½Π°ΠΆΠ°Ρ‚ΡŒ Enter, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ test.bat. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ пСрвая строчка прСдставляСт собой ΠΏΠ°ΡƒΠ·Ρƒ, сначала Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ Π½Π°ΠΆΠ°Ρ‚ΡŒ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ. ПослС этого Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ запускаСтся построчно. Π’ этом случаС Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΎ пСрСчислСниС элСмСнтов Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°Ρ… Windows ΠΈ Windows \ system.

ПолСзно ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Ссли Π΅ΡΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ большС строчСк Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π½Ρ‹ΠΉ элСмСнт, достаточно ввСсти edit test.bat, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π΅Π³ΠΎ для рСдактирования. НСкоторыС вСрсии MS-DOS ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½Ρ‹Ρ… дискСт ΠΌΠΎΠ³ΡƒΡ‚ Π½Π΅ ΠΈΠΌΠ΅Ρ‚ΡŒ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ рСдактирования.

Если это Ρ‚Π°ΠΊ, Π½ΡƒΠΆΠ½ΠΎ Π»ΠΈΠ±ΠΎ ввСсти edit.com, Π»ΠΈΠ±ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ copy con.

Π―Π·Ρ‹ΠΊ сцСнариСв — Simple English Wikipedia, бСсплатная энциклопСдия

Π―Π·Ρ‹ΠΊ сцСнариСв ΠΈΠ»ΠΈ — это язык программирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ сцСнариСв . Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ шаги, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ. Π­Ρ‚ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ, дСлая Π΅Π΅ ΠΏΡ€ΠΎΡ‰Π΅ ΠΈ Π½Π°Π΄Π΅ΠΆΠ½Π΅Π΅. Π―Π·Ρ‹ΠΊ сцСнариСв часто являСтся Π±ΠΎΠ»Π΅Π΅ простым языком ΠΈ Π΅Π³ΠΎ Π»Π΅Π³Ρ‡Π΅ Π²Ρ‹ΡƒΡ‡ΠΈΡ‚ΡŒ, Ρ‡Π΅ΠΌ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ языки, Π½ΠΎ ΠΎΠ½ всС ΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Π΅Π»Π°Ρ‚ΡŒ.

Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² Π²Π΅Π±-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ ΠΈΠ»ΠΈ Microsoft Excel.Они Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΎΠΉ , которая запускаСтся ΠΈΠ· интСрфСйса ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки ΠΈ выполняСт Π²Ρ‹Π·ΠΎΠ²Ρ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы (ОБ). ΠžΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° считаСтся ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ — ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ, Π° ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° Ρ€Π΅Π°Π³ΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ. Π˜Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для управлСния заданиями Π½Π° мэйнфрСймах ΠΈ сСрвСрах.

НСкоторыС люди говорят, Ρ‡Ρ‚ΠΎ язык сцСнариСв Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ привязан ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌΡƒ использованию. Π”Ρ€ΡƒΠ³ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π±ΠΎΠ»Π΅Π΅ ΡˆΠΈΡ€ΠΎΠΊΠΎΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ языки программирования ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ, Π° Π½Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ. Π£Π½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ способами для Ρ€Π°Π·Π½Ρ‹Ρ… Ρ†Π΅Π»Π΅ΠΉ. НСкоторыС языки ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Java) ΠΈΠΌΠ΅ΡŽΡ‚ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ сцСнарии (Javascript). НС сущСствуСт ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ являСтся языком сцСнариСв, Π° Ρ‡Ρ‚ΠΎ Π½Π΅Ρ‚.

НСкоторыС распространСнныС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ языков сцСнариСв:

  • Bash ΠΈ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° C, ΠΊΠ°ΠΊ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ языки для Unix ΠΈΠ»ΠΈ Unix-ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм
  • Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ языком Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ .Π’Π΅Π±-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ нСсколько Ρ‚ΠΈΠΏΠΎΠ² сцСнариСв, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ECMAScript (JavaScript) ΠΈΠ»ΠΈ XUL. НапримСр, Π½Π° Π³Π»Π°Π²Π½ΠΎΠΉ страницС Google ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ JavaScript. Visual Basic для ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Microsoft Office. Lua — это язык, ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ созданный ΠΊΠ°ΠΊ язык Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ, ΠΈ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… прилоТСниях.
  • Π˜Π³Ρ€Ρ‹ с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡΠΌΠΈ сцСнариСв Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠΈΡ€ Second Life ΠΈ симуляторы Trainz Railroad. Π’ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΈΠ³Ρ€Π°Ρ…, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ ВСснот, мноТСство Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΈΠ³Ρ€ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой сцСнарии, написанныС Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ.
  • Π―Π·Ρ‹ΠΊΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ тСкста sed ΠΈ AWK
  • ΠžΠ±Ρ‰Π΅Π΅ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅: Perl, [1] Tcl ΠΈ Python [2] — это языки программирования высокого уровня (Π±Π»ΠΈΠΆΠ΅ ΠΊ чСловСчСскому языку, Ρ‡Π΅ΠΌ ΠΊ ΠΌΠ°ΡˆΠΈΠ½Π½ΠΎΠΌΡƒ ΠΊΠΎΠ΄Ρƒ), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для самых Ρ€Π°Π·Π½Ρ‹Ρ… Ρ†Π΅Π»Π΅ΠΉ. НСкоторыС ΠΈΠ· этих языков сначала ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π°Π»ΠΈΡΡŒ для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ использования, Π° Π·Π°Ρ‚Π΅ΠΌ Π±Ρ‹Π»ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Ρ‹ Π² языки ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния.

Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ языков сцСнариСв ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½Ρ‹ для изучСния. Часто это ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ с исходным ΠΊΠΎΠ΄ΠΎΠΌ ΠΈΠ»ΠΈ Π²Π²ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Π² интСрфСйсС ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ†ΠΈΠΊΠ» Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ – ΠΎΡ†Π΅Π½ΠΊΠ° – ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (REPL, языковая ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ°). [3] ΠžΠ±Ρ‹Ρ‡Π½ΠΎ это простой Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠΌΠ°Π½Π΄. ΠœΠΎΠΆΠ΅Ρ‚ Π½Π΅ Π±Ρ‹Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈΠ»ΠΈ основного , ΠΎΠ½ просто Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΎΡ‚ Π½Π°Ρ‡Π°Π»Π° Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π°. Если Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, программист ΠΌΠΎΠΆΠ΅Ρ‚ быстро внСсти измСнСния ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π΅Π³ΠΎ снова. Π­Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ язык сцСнариСв подходящим для создания быстрого ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠ° , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π»ΠΈ идСя.

НапримСр, Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ людСй Π½Π΅ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ Java языком сцСнариСв ΠΈΠ·-Π·Π° Π΅Π³ΠΎ Π΄Π»ΠΈΠ½Π½ΠΎΠ³ΠΎ синтаксиса ΠΈ ΠΏΡ€Π°Π²ΠΈΠ» ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ классы ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ„Π°ΠΉΠ»Π°Ρ…, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Java Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ Π² REPL.Π•ΠΌΡƒ Π½ΡƒΠΆΠ½Ρ‹ Ρ„Π°ΠΉΠ»Ρ‹ с исходным ΠΊΠΎΠ΄ΠΎΠΌ, ΠΈ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ опрСдСлСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π²Π΅Π΄ΡƒΡ‰ΠΈΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈΠ»ΠΈ срСдством запуска ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. (Java — это Π½Π΅ Ρ‚ΠΎ ΠΆΠ΅ самоС, Ρ‡Ρ‚ΠΎ JavaScript).

Но Python позволяСт Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ — Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½Ρ‹ Π² Ρ„Π°ΠΉΠ», Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π±Π΅Π· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠΌΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ ΡΡ‚ΠΈΠ»ΡŒ программирования ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π² ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ (вводя ΠΈ запуская ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΉ строкС Π·Π° Ρ€Π°Π·).

ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ ("Hello World")

Π­Ρ‚Π° ΠΎΠ΄Π½Π° строка ΠΊΠΎΠ΄Π° Python Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Β«Hello WorldΒ»; Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ main () ΠΈΠ»ΠΈ Ρ‡Π΅Π³ΠΎ-Π»ΠΈΠ±ΠΎ Π΅Ρ‰Π΅ Π½Π΅ трСбуСтся.

Π―Π·Ρ‹ΠΊ сцСнариСв ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ интСрпрСтируСтся ΠΈΠ· исходного ΠΊΠΎΠ΄Π° ΠΈΠ»ΠΈ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π°. [4] Однако Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ сцСнарий (ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ Π΅Π³ΠΎ понял. Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π² ОБ. Π­Ρ‚ΠΎ часто написано Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΌ языкС ΠΈ распространяСтся Π² Ρ„ΠΎΡ€ΠΌΠ΅ машинного ΠΊΠΎΠ΄Π° (ΠΊΠ°ΠΊ исполняСмый Ρ„Π°ΠΉΠ» , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ смысла для людСй).

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

Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ часто ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π»ΠΈΡ†ΠΎΠΌ, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠΌ ΠΈΡ…, [5] , Π½ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π½ΠΈΡ… ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ΄Π°ΡŽΡ‚ΡΡ Π΄Ρ€ΡƒΠ³ΠΈΠΌ. НапримСр, ΠΊΠΎΠ³Π΄Π° большая Ρ‡Π°ΡΡ‚ΡŒ ΠΈΠ³Ρ€ написана Π½Π° языкС сцСнариСв. Иногда сцСнарий ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ скомпилирован Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π΅Π³ΠΎ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅.ПослС компиляции ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ быстрСС ΠΈ для Π΅Π³ΠΎ запуска Π½Π΅ потрСбуСтся Π΄Ρ€ΡƒΠ³ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. И это Π½Π΅ позволяСт ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΊΠΎΠ΄.

Π Π°Π½Π½ΠΈΠ΅ мэйнфрСймы (Π² 1950-Π΅ Π³ΠΎΠ΄Ρ‹) Π½Π΅ Π±Ρ‹Π»ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ, Π½ΠΎ использовали сцСнарии, хранящиСся Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»Π°Ρ… . Π―Π·Ρ‹ΠΊ управлСния заданиями (JCL) IBM являСтся распространСнным ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ языка сцСнариСв, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ для управлСния ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ. [6]

ΠŸΠ΅Ρ€Π²Ρ‹Π΅ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ Π±Ρ‹Π»ΠΈ созданы Π² 1960-Ρ… Π³ΠΎΠ΄Π°Ρ… для ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π² ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΏΠ΅Ρ€Π²Ρ‹Ρ… систСм с Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.Π’ Π½ΠΈΡ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ сцСнарии ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ΅. ΠšΠ°Π»ΡŒΠ²ΠΈΠ½Ρƒ ΠœΡƒΡ€ΡΡƒ Π½Π° Π΅Π³ΠΎ языкС TRAC ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΡ€ΠΈΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ ΠΈΠ·ΠΎΠ±Ρ€Π΅Ρ‚Π΅Π½ΠΈΠ΅ подстановки ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ . Π­Ρ‚ΠΎ позволяСт ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ сцСнарий (ΡΠ°ΠΌΠΎΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉΡΡ ΠΊΠΎΠ΄). [7] Multics Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ эти Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ . [8] Π›ΡƒΠΈ ΠŸΡƒΠ·Π΅Π½ написал ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ процСссор для ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹Ρ… сцСнариСв ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ RUNCOM для CTSS ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π² 1964 Π³ΠΎΠ΄Ρƒ. Π‘Ρ‚ΡŽΠ°Ρ€Ρ‚ Мэдник ΠΈΠ· ΠœΠ°ΡΡΠ°Ρ‡ΡƒΡΠ΅Ρ‚ΡΠΊΠΎΠ³ΠΎ тСхнологичСского института написал язык сцСнариСв для IBM CP / CMS Π² 1966 Π³ΠΎΠ΄Ρƒ.ΠŸΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΎΠ½ Π½Π°Π·Ρ‹Π²Π°Π» этот процСссор COMMAND, ΠΏΠΎΠ·Π΄Π½Π΅Π΅ — EXEC. [9] Multics Π²ΠΊΠ»ΡŽΡ‡Π°Π» ΠΎΡ‚Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠ΅ CTSS RUNCOM, Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ΅ RUNCOM. [10] EXEC Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅ Π±Ρ‹Π» Π·Π°ΠΌΠ΅Π½Π΅Π½ Π½Π° EXEC 2 ΠΈ REXX.

Π’Π°ΠΊΠΈΠ΅ языки, ΠΊΠ°ΠΊ Tcl ΠΈ Lua, с самого Π½Π°Ρ‡Π°Π»Π° создавались ΠΊΠ°ΠΊ языки сцСнариСв ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² любом ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. Π”Ρ€ΡƒΠ³ΠΈΠ΅ языки, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Visual Basic для ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ (VBA), ΠΌΠΎΠ³ΡƒΡ‚ Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚ΠΎ ΠΆΠ΅ самоС, Π½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ прилоТСниями. ИспользованиС языка сцСнариСв ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния вмСсто создания Π½ΠΎΠ²ΠΎΠ³ΠΎ языка для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ прилоТСния ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ ΠΊΠ°ΠΊ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΡƒ, ΠΏΠΈΡˆΡƒΡ‰Π΅ΠΌΡƒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Ρ‚Π°ΠΊ ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ, ΠΏΠΈΡˆΡƒΡ‰Π΅ΠΌΡƒ сцСнарии.

Π‘ΠΊΠ»Π΅ΠΉΡ‚Π΅ языки [ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ | ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ источник]

Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΈ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π­Ρ‚ΠΎ называСтся ΡΠ²ΡΠ·ΡƒΡŽΡ‰ΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, ΠΈ язык, созданный ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ для этой Ρ†Π΅Π»ΠΈ, — это ΠΊΠ»Π΅Π΅Π²ΠΎΠΉ язык . ΠšΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Ρ‹ ΠΈ сцСнарии ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ — Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΡΠ²ΡΠ·ΡƒΡŽΡ‰ΠΈΡ… языков. Но Ссли Π² Ρ„Π°ΠΉΠ»Π΅ сцСнария написано ΠΌΠ½ΠΎΠ³ΠΎ Π»ΠΎΠ³ΠΈΠΊΠΈ, Π»ΡƒΡ‡ΡˆΠ΅ Π΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΎ Π½Π΅ΠΌ ΠΊΠ°ΠΊ ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, Π° Π½Π΅ ΠΎ Β«ΠΊΠ»Π΅Π΅Β».

Π‘ΠΊΠ»Π΅ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ языки особСнно ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ для написания ΠΈ сопровоТдСния:

  • ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ для ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ;
  • ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ мСньшСго Ρ€Π°Π·ΠΌΠ΅Ρ€Π°, Ρ‡Π΅ΠΌ Ρ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π»ΡƒΡ‡ΡˆΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΌ языкС;
  • ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹-ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ автоматичСскиС дСйствия Π΄ΠΎ ΠΈΠ»ΠΈ послС запуска прилоТСния, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΡΠ»Π΅ΠΊΡ‚Ρ€ΠΎΠ½Π½ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ, Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…, компилятор ΠΈ Ρ‚. Π”.;
  • скрипта, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ часто ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ;

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ языков склСйки:

Устройства, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Ρ‹, Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ свои собствСнныС языки. НапримСр, Texas Instruments TI-92 ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ Π½Π° языкС ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹Ρ… сцСнариСв. ΠšΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ TI-NSpire ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚ язык Lua. Π”Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ язык, Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, Лисп ΠΈΠ»ΠΈ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π΅Ρ‰Π΅.

Π―Π·Ρ‹ΠΊΠΈ ΠΈ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ управлСния заданиями [ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ | ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ источник]

Π­Ρ‚Π° Π³Ρ€ΡƒΠΏΠΏΠ° Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ΠΈΠ· Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ управлСния заданиями, которая связана с запуском ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅ΠΌ повСдСния систСмных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, начиная с JCL IBM.МногиС ΠΈΠ· ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠ² этих языков Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΊΠ°ΠΊ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° Unix ΠΈΠ»ΠΈ MS-DOS COMMAND.COM . Π”Ρ€ΡƒΠ³ΠΈΠ΅, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ AppleScript, ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ использованиС англоязычных ΠΊΠΎΠΌΠ°Π½Π΄ для создания сцСнариСв.

Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΈ графичСского интСрфСйса ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ [ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ | ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ источник]

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

Π―Π·Ρ‹ΠΊΠΈ для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ [ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ | ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ источник]

МногиС большиС прилоТСния Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ язык сцСнариСв, созданный ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ для этого прилоТСния. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ³Ρ€ΠΎΠΉ ΠΈΠ»ΠΈ Π΄Π΅Π»ΠΎΠ²ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ. Π­Ρ‚ΠΎΡ‚ Ρ‚ΠΈΠΏ языка ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для ΠΎΠ΄Π½ΠΎΠ³ΠΎ прилоТСния. Они выглядят ΠΊΠ°ΠΊ язык ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, QuakeC, смодСлированный Π½Π° основС C), Ρƒ Π½ΠΈΡ… Π΅ΡΡ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡ… Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚.

Π Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΡ‹Π΅ / встраиваСмыС языки [ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ | ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ источник]

Π­Ρ‚ΠΎ ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° языки сцСнариСв для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ управляСт ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, Π½ΠΎ язык ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… прилоТСниях.

JavaScript начинался ΠΊΠ°ΠΊ язык для написания сцСнариСв Π²Π½ΡƒΡ‚Ρ€ΠΈ Π²Π΅Π±-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ²; Π½ΠΎ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ это ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ встраиваСмый язык. НапримСр, ΠΎΠ½ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°Ρ… Adobe.

НСкоторыС языки со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ пСрСходят ΠΎΡ‚ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° ΠΊ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ возмоТности Π΄Π΅Π»Π°Ρ‚ΡŒ большС Π²Π΅Ρ‰Π΅ΠΉ.

  1. ↑ Π¨Π΅ΠΏΠΏΠ°Ρ€Π΄, Π”ΡƒΠ³ (2000-10-16). Β«Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Perl для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ²Β». dev.perl.org. ΠŸΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ΠΎ 8 января 2011.
  2. ↑ Programming is Hard, Let’s Go Scripting…, Π›Π°Ρ€Ρ€ΠΈ Π£ΠΎΠ»Π», 6 дСкабря 2007 Π³.
  3. ↑ ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Π’ΠΎΠ½ΠΈ; Папай, Π“ΡŒΡŽΡ€ΠΈ (2014). ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Π°Ρ всСлСнная: ΠΏΡƒΡ‚Π΅ΡˆΠ΅ΡΡ‚Π²ΠΈΠ΅ Ρ‡Π΅Ρ€Π΅Π· Ρ€Π΅Π²ΠΎΠ»ΡŽΡ†ΠΈΡŽ . Π˜Π·Π΄Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ ΠšΠ΅ΠΌΠ±Ρ€ΠΈΠ΄ΠΆΡΠΊΠΎΠ³ΠΎ унивСрситСта. ΠΏ. 76. ISBN 978-1-31612322-5 , «Основной характСристикой соврСмСнных языков сцСнариСв являСтся ΠΈΡ… ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ, ΠΈΠ½ΠΎΠ³Π΄Π° называСмая срСдой программирования REPL . […] Π₯арактСристики простоты использования ΠΈ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠ³ΠΎ выполнСния с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π‘Ρ€Π΅Π΄Π° REPL ΠΈΠ½ΠΎΠ³Π΄Π° воспринимаСтся ΠΊΠ°ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ языка сцСнариСв «.
  4. ↑ Π‘Ρ€Π°ΡƒΠ½, Π’ΠΈΠΊΠΈ. Β«Π―Π·Ρ‹ΠΊΠΈ сцСнариСв».ΠŸΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ΠΎ 22 июля 2009.
  5. ↑ Π›ΡƒΠΈ, Рональд (2008). Β«Π’ΠΎ славу скриптинга». IEEE Computer. Архивировано 27 августа 2013 Π³ΠΎΠ΄Π°.
  6. ↑ ΠšΠΎΡ€ΠΏΠΎΡ€Π°Ρ†ΠΈΡ IBM (1967). Π―Π·Ρ‹ΠΊ управлСния заданиями ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы IBM System / 360 (C28-6529-4) (PDF).
  7. ↑ ΠœΡƒΡ€Ρ, Кальвин. «TRAC, язык описания ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ для Ρ€Π΅Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ ΠΏΠΈΡˆΡƒΡ‰Π΅ΠΉ машинки». Архивировано 25 апрСля 2001 Π³ΠΎΠ΄Π°. ΠŸΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ΠΎ 9 ΠΌΠ°Ρ€Ρ‚Π°, 2012.
  8. ↑ Π’Π°Π½ Π€Π»Π΅ΠΊ (ΠΈΠ·Π΄.), Вомас. «Глоссарий Multics -A- (активная функция)Β». ΠŸΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ΠΎ 9 ΠΌΠ°Ρ€Ρ‚Π° 2012 Π³. CS1 maint: extra text: Π°Π²Ρ‚ΠΎΡ€Ρ‹ списка (ссылка)
  9. ↑ Π’Π°Ρ€ΠΈΠ°Π½, МСлинда. Β«Π’Πœ И Π‘ΠžΠžΠ‘Π©Π•Π‘Π’Π’Πž Π’Πœ: ΠΏΡ€ΠΎΡˆΠ»ΠΎΠ΅, настоящСС ΠΈ Π±ΡƒΠ΄ΡƒΡ‰Π΅Π΅Β» (PDF). Архивировано ΠΈΠ· ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ (PDF) 19 мая 2011 Π³ΠΎΠ΄Π°. Π”Π°Ρ‚Π° обращСния 9 ΠΌΠ°Ρ€Ρ‚Π° 2012 Π³ΠΎΠ΄Π°.
  10. ↑ Π’Π°Π½ Π€Π»Π΅ΠΊ, Вомас (Ρ€Π΅Π΄.). «Глоссарий Multics -R- (RUNCOM)Β». ΠŸΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ΠΎ 9 ΠΌΠ°Ρ€Ρ‚Π° 2012 Π³. CS1 maint: extra text: Π°Π²Ρ‚ΠΎΡ€Ρ‹ списка (ссылка)

.

Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΈ с COM-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ — прилоТСния Win32

  • 2 ΠΌΠΈΠ½ΡƒΡ‚Ρ‹ Π½Π° Ρ‡Ρ‚Π΅Π½ΠΈΠ΅

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅

Π―Π·Ρ‹ΠΊ сцСнариСв — это язык программирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ анализируСтся Π²ΠΎ врСмя выполнСния машиной сцСнариСв , ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ сцСнарии, написанныС Π½Π° этом языкС, Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄.ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ сцСнариСв ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ язык сцСнариСв. Π₯ост сцСнариСв — это ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠ°ΠΊ Π²Π΅Π±-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ размСщаСтся ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ сцСнариСв для выполнСния сцСнариСв. Если ваш хост сцСнариСв ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ COM, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΈΡΠ°Ρ‚ΡŒ сцСнарии, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ COM-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹. Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Ρ€Π°Π·Π΄Π΅Π»Π°Ρ… ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ хосты сцСнариСв, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ COM-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, ΠΎΠ±Ρ‰ΠΈΠ΅ языки сцСнариСв ΠΈ способы ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° ΠΌΠ΅ΠΆΠ΄Ρƒ языками сцСнариСв.

Π―Π·Ρ‹ΠΊ сцСнариСв отличаСтся ΠΎΡ‚ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ языка Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ транслируСтся Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π²ΠΎ врСмя выполнСния.Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ запускаСтС сцСнарий, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ сцСнариСв сначала Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄, Π° Π·Π°Ρ‚Π΅ΠΌ запускаСт Π΅Π³ΠΎ. Напротив, скомпилированныС языки, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ C ++, ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ΡΡ Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· Π²ΠΎ врСмя компиляции. Когда Π²Ρ‹ запускаСтС скомпилированноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, опСрационная систСма просто запускаСт ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ скомпилированный ΠΊΠΎΠ΄.

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

БущСствуСт нСсколько срСд хоста, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΈΡΠ°Ρ‚ΡŒ сцСнарии, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ COM-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, ΠΊΠ°ΠΊ описано Π½ΠΈΠΆΠ΅:

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

НаиболСС часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ языки сцСнариСв:

  • Microsoft Visual Basic Scripting Edition (VBScript), подмноТСство Visual Basic.
  • JavaScript, язык сцСнариСв Netscape, Ρ€Π°Π½Π΅Π΅ извСстный ΠΊΠ°ΠΊ LiveScript.
  • ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Microsoft JScript, рСализация Microsoft спСцификации языка ECMA 262.

Microsoft прСдоставляСт ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ сцСнариСв для JScript ΠΈ VBScript. Π”Ρ€ΡƒΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ сцСнариСв ActiveX для Ρ‚Π°ΠΊΠΈΡ… языков, ΠΊΠ°ΠΊ PerlScript, PScript, Python ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ….

Для получСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ см. Π‘ΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ языка ECMA 262.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ языков сцСнариСв, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ VBScript ΠΈ JScript, Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Ρ„Π°ΠΉΠ»Π°ΠΌ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΈΡ…. Π­Ρ‚Π° Π½Π΅ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ Π½Π΅ позволяСт ΡΡ†Π΅Π½Π°Ρ€ΠΈΡŽ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° клиСнтских ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ…. Однако для COM-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Ρ‚Π°ΠΊΠΈΡ… ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ Π½Π΅Ρ‚. ПослС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈ установки Π½Π° клиСнтскиС ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ любоС стандартноС дСйствиС прилоТСния. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ элСмСнты ActiveX Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· Π½Π°Π΄Π΅ΠΆΠ½Ρ‹Ρ… источников.

Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ языками сцСнариСв см. Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Ρ€Π°Π·Π΄Π΅Π»Π°Ρ…:

.Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΉ

— Wiktionary

Π‘ΠΌ. Wiktionary: Scripts для получСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ скриптах Π² Wiktionary.

Английский [ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ]

Этимология [ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ]

Из срСднСанглийского scrit , заимствовано ΠΈΠ· старофранцузского escrit , ΠΈΠ· латинского scriptum (Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ написанноС), ΠΈΠ· scrΔ«bō (Β«ΠΏΠΈΡΠ°Ρ‚ΡŒΒ»).

ΠŸΡ€ΠΎΠΈΠ·Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ [ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ]

Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ [ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ]

скрипт ( счСтных ΠΈ нСсчСтных , мноТСствСнных скриптов )

  1. (исчисляСмый, ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΉ) Надпись; ΠΏΠΈΡΡŒΠΌΠ΅Π½Π½Ρ‹ΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚.
    Π‘ΠΈΠ½ΠΎΠ½ΠΈΠΌΡ‹: курсив, Ρ€ΡƒΠΊΠΎΠΏΠΈΡΡŒ, ΠΏΠΎΡ‡Π΅Ρ€ΠΊ, Ρ€ΡƒΠΊΠΎΠΏΠΈΡΡŒ
  2. ΠΏΠΈΡΡŒΠΌΠ΅Π½Π½Ρ‹Ρ… Π·Π½Π°ΠΊΠΎΠ²; ΡΡ‚ΠΈΠ»ΡŒ письма.
  3. (Ρ‚ΠΈΠΏΠΎΠ³Ρ€Π°Ρ„ΠΈΠΊΠ°) Π¨Ρ€ΠΈΡ„Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ с ΠΈΠΌΠΈΡ‚Π°Ρ†ΠΈΠ΅ΠΉ ΠΏΠΎΡ‡Π΅Ρ€ΠΊΠ°.
    Π‘ΠΈΠ½ΠΎΠ½ΠΈΠΌ: курсив
  4. (счСт, Π·Π°ΠΊΠΎΠ½) ΠžΡ€ΠΈΠ³ΠΈΠ½Π°Π» вСксСля ΠΈΠ»ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.
  5. (счСтно) ΠŸΠΈΡΡŒΠΌΠ΅Π½Π½Ρ‹ΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚, содСрТащий Π΄ΠΈΠ°Π»ΠΎΠ³ ΠΈ дСйствиС для Π΄Ρ€Π°ΠΌΡ‹; тСкст спСктакля, Ρ„ΠΈΠ»ΡŒΠΌΠ° ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ спСктакля. Π’Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅, Ρ‡Ρ‚ΠΎ Ρ„ΠΈΠ½Π°Π»ΡŒΠ½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° использовалась для самого спСктакля.
    Π“ΠΈΠΏΠΎΠ½ΠΈΠΌΡ‹: сцСнарий, Ρ‚Π΅Π»Π΅ΡΠΏΠ΅ΠΊΡ‚Π°ΠΊΠ»ΡŒ
  6. (вычислСниС) Π€Π°ΠΉΠ», содСрТащий список ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΠΊΠΎΠΌΠ°Π½Π΄, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΡ… ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· для ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ выполнСния.
    Π‘ΠΈΠ½ΠΎΠ½ΠΈΠΌΡ‹: ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ», макрос, сцСнарий ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ
    Π“ΠΈΠΏΠΎΠ½ΠΈΠΌΡ‹: ΠΊΠΎΡ„Π΅, здСсь-сцСнарий, постскриптум
  7. (лингвистика) БистСма письма, адаптированная ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ языку ΠΈΠ»ΠΈ Π½Π°Π±ΠΎΡ€Ρƒ языков.
    Π‘ΠΈΠ½ΠΎΠ½ΠΈΠΌΡ‹: языковая ΠΏΠΈΡΡŒΠΌΠ΅Π½Π½ΠΎΡΡ‚ΡŒ, систСма письма
  8. Π‘ΠΎΠΊΡ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΎΡ‚ прСдписания .
Π“ΠΈΠΏΠΎΠ½ΠΈΠΌΡ‹ [ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ]
Π’Π΅Ρ€ΠΌΠΈΠ½Ρ‹ Π½ΠΈΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Ρ‹ ΠΈ соотнСсСны с опрСдСлСниями (смыслами) ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π²Ρ‹ΡˆΠ΅ Π·Π°Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ слова. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² Ρ‚ΠΎΠΌ смыслС, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΎΠ½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ {{syn | en | ...}} ΠΈΠ»ΠΈ {{ant | en | ...}} , Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΈΡ… Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ смысл (смыслы).
ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Ρ‹ [ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ]
БвязанныС Ρ‚Π΅Ρ€ΠΌΠΈΠ½Ρ‹ [ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ]
ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‹ [ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ]

письмо; ΠΏΠΈΡΡŒΠΌΠ΅Π½Π½Ρ‹ΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚

ΠΏΠΈΡΡŒΠΌΠ΅Π½Π½Ρ‹Ρ… Π·Π½Π°ΠΊΠΎΠ², ΡΡ‚ΠΈΠ»ΡŒ письма

ΡˆΡ€ΠΈΡ„Ρ‚ имитация ΠΏΠΎΡ‡Π΅Ρ€ΠΊΠ°

(Π·Π°ΠΊΠΎΠ½) ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π» вСксСля ΠΈΠ»ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°

тСкст Π΄ΠΈΠ°Π»ΠΎΠ³Π° ΠΈ дСйствия ΠΊ Π΄Ρ€Π°ΠΌΠ΅

ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π² вычислСниях

Π“Π»Π°Π³ΠΎΠ» [ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ]

сцСнарий ( простого настоящСго Π² СдинствСнном числС ΠΎΡ‚ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅Π³ΠΎ Π»ΠΈΡ†Π° сцСнария , причастия настоящСго сцСнарий , простоС причастиС ΠΏΡ€ΠΎΡˆΠ΅Π΄ΡˆΠ΅Π³ΠΎ ΠΈ ΠΏΡ€ΠΎΡˆΠ΅Π΄ΡˆΠ΅Π³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ сцСнарий )

  1. (ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π½Ρ‹ΠΉ) Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ скрипт.
ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‹ [ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ]

ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ сцСнарий

Бсылки [ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ]

Анаграммы [ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ]


Этимология [ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ]

Заимствовано ΠΈΠ· английского Π°Π»Ρ„Π°Π²ΠΈΡ‚Π° .

ΠŸΡ€ΠΎΠΈΠ·Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ [ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ]

Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ [ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ]

скрипт n ( мноТСствСнноС число скрипты , ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ scriptje n )

  1. сцСнарий (ΠΏΠΈΡΡŒΠΌΠ΅Π½Π½Ρ‹ΠΉ тСкст драматичСского спСктакля)
Π‘ΠΌ. Π’Π°ΠΊΠΆΠ΅ [ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ]

Этимология [ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ]

Заимствовано ΠΈΠ· английского Π°Π»Ρ„Π°Π²ΠΈΡ‚Π° .Π”ΡƒΠ±Π»Π΅Ρ‚ Γ©crit .

ΠŸΡ€ΠΎΠΈΠ·Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ [ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ]

Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ [ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ]

скрипт ΠΌ ( мноТСствСнного числа скрипт )

  1. сцСнарий (ΠΏΠΈΡΡŒΠΌΠ΅Π½Π½Ρ‹ΠΉ Π΄ΠΈΠ°Π»ΠΎΠ³ для ΠΏΡŒΠ΅ΡΡ‹, Ρ„ΠΈΠ»ΡŒΠΌΠ° ΠΈ Ρ‚. Π”.)

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Π° [ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ]


ВСнгСрский [ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ]

ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΡ‹ [ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ]

Этимология [ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ]

Заимствовано ΠΈΠ· английского Π°Π»Ρ„Π°Π²ΠΈΡ‚Π° .

ΠŸΡ€ΠΎΠΈΠ·Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ [ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ]

  • IPA (ΠΊΠ»ΡŽΡ‡) : [ˈskript]
  • Расстановка пСрСносов: сцСнарий

Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ [ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ]

скрипт ( мноТСствСнноС число scriptek )

  1. (Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ) скрипт
CΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅ [ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ]

ΠΏΠΎΡ€Ρ‚ΡƒΠ³Π°Π»ΡŒΡΠΊΠΈΠΉ [ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ]

Этимология [ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ]

Заимствовано ΠΈΠ· английского Π°Π»Ρ„Π°Π²ΠΈΡ‚Π° .

Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ [ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ]

скрипт ΠΌ ( мноТСствСнного числа скриптов )

  1. (Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ) сцСнарий (тСкст Π΄ΠΈΠ°Π»ΠΎΠ³Π° ΠΈ дСйствия ΠΊ Π΄Ρ€Π°ΠΌΠ΅)
  2. (Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ) сцСнарий (исходный ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ интСрпрСтируСтся, Π° Π½Π΅ компилируСтся)
Π‘ΠΈΠ½ΠΎΠ½ΠΈΠΌΡ‹ [ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ]
  • (тСкст Π΄ΠΈΠ°Π»ΠΎΠ³Π° ΠΈ дСйствия для Π΄Ρ€Π°ΠΌΡ‹): roteiro
БвязанныС Ρ‚Π΅Ρ€ΠΌΠΈΠ½Ρ‹ [ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ]

румынский [ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ]

Этимология [ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ]

Заимствовано ΠΈΠ· английского Π°Π»Ρ„Π°Π²ΠΈΡ‚Π° .

Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ [ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ]

сцСнарий n ( мноТСствСнноС число сцСнарий )

  1. сцСнарий (Ρ„ΠΈΠ»ΡŒΠΌΠ°, спСктакля, ΡˆΠΎΡƒ ΠΈ Ρ‚.Π΄.)
Π‘ΠΈΠ½ΠΎΠ½ΠΈΠΌΡ‹ [ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ]
БвязанныС Ρ‚Π΅Ρ€ΠΌΠΈΠ½Ρ‹ [ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ]

.

Часто Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ вопросы ΠΏΠΎ сцСнариям

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ скрипты, написанныС Π½Π° VBScript, JScript ΠΈ PerlScript,
ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ возмоТности выполнСния скриптов SecureCRT для Windows. OΠ½ΠΈ
Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² качСствС руководства для написания собствСнных сцСнариСв.

Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ собраны Π² ΠΎΠ΄ΠΈΠ½ ΡΠ°ΠΌΠΎΡ€Π°ΡΠΏΠ°ΠΊΠΎΠ²Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉΡΡ EXE
Ρ„Π°ΠΉΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ, пСрСйдя ΠΏΠΎ ссылкС Π½ΠΈΠΆΠ΅.Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ спискС описаны Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ сцСнарии Π²
Ρ„Π°ΠΉΠ».

Для получСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ сцСнариях ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°Ρ… создания сцСнариСв,
см. Часто Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ вопросы ΠΏΠΎ сцСнариям ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½-руководство ΠΏΠΎ основам сцСнариСв VanDyke Software.

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅
Из сцСнария

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ сСрвСру, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ
ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ сСанс (JScript).
ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ SecureCRT ΠΏΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρƒ SSh3
(VBScript).
ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΏΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρƒ telnet ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ…ΠΎΠ΄
(VBScript).
ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° сСрвСр

ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Ρ„Π°ΠΉΠ» ΠΈ отправляСт Π΅Π³ΠΎ содСрТимоС построчно (VBScript
ΠΈ JScript соотвСтствСнно).
ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Ρ„Π°ΠΉΠ» ΠΈ выполняСт Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ тСкста.
ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΎΠΉ (VBScript).
Π—Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ тСкстовый Ρ„Π°ΠΉΠ» Π½Π° сСрвСр, отправляя Π΅ΠΌΡƒ строку
ΠΏΠΎ строкам ΠΈ направляя Π²Ρ‹Π²ΠΎΠ΄ Π² Ρ„Π°ΠΉΠ» (VBScript).
SetEnv.vbs АвтоматизируСт установку ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ DISPLAY для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ
ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ X ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² (VBScript).
SetLinesCols.vbs АвтоматизируСт установку ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ LINES ΠΈ COLUMNS.
для Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… срСд, Π³Π΄Π΅ эти ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅
установлСн Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ (VBScript).
SendFKey.vbs Π˜ΠΌΠΈΡ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ клавиши (VBScript).
ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π²Ρ‹Π²ΠΎΠ΄Π° с сСрвСра

GetData.vbs ДСмонстрируСт использованиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Get () для чтСния Π΄Π°Π½Π½Ρ‹Ρ….
с экрана (VBScript).
GetDataToExcel.vbs Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Get () для чтСния Π΄Π°Π½Π½Ρ‹Ρ… с экрана
ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΡŽ OLE для записи Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ„Π°ΠΉΠ» Excel
(VBScript).
GetDataToFile.vbs Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Get () для чтСния Π΄Π°Π½Π½Ρ‹Ρ… с экрана
ΠΈ Π·Π°ΠΏΠΈΡˆΠΈΡ‚Π΅ Π΅Π³ΠΎ Π² тСкстовый Ρ„Π°ΠΉΠ» (VBScript).
Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса

MessageBox.vbs
MessageBox.js

ДСмонстрируСт Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ использования ΠΈ возмоТности
Ѐункция MessageBox () (VBScript ΠΈ JScript).

Prompt.vbs
Prompt.js

ДСмонстрируСт использованиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Prompt () (VBScript
ΠΈ JScript).
Код сцСнария совмСстного использования

CallModule.vbs
Module.vbs
CallModule.js
Module.js
Π­Ρ‚ΠΈ ΠΏΠ°Ρ€Π½Ρ‹Π΅ скрипты ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ способ структурирования
ΠΊΠΎΠ΄ VBScript ΠΈ JScript, поэтому ΠΎΠ±Ρ‰ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ
ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΠ»ΠΈ совмСстно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ ΠΎΠ΄Π½ΠΈΠΌ скриптом (VBScript
ΠΈ JScript).
Π Π°Π·Π½Ρ‹Π΅ скрипты

WinEnv.vbs Π˜Π·Π²Π»Π΅ΠΊΠ°Π΅Ρ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ срСды ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Windows.
Ρ‡Π΅Ρ€Π΅Π· Windows Scripting Host (WSH) (VBScript).
RunExternal.vbs
RunExternal.js
ЗапускаСт внСшнюю ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈΠ· сСанса Ρ‡Π΅Ρ€Π΅Π· WSH (VBScript
ΠΈ JScript).
RunWord.vbs ЗапуститС MS Word Ρ‡Π΅Ρ€Π΅Π· интСрфСйс Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Word OLE (VBScript).
StartLogfile.vbs УстанавливаСт имя Ρ„Π°ΠΉΠ»Π° ΠΆΡƒΡ€Π½Π°Π»Π° ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΆΡƒΡ€Π½Π°Π»Π° ΠΈΠ· сцСнария
(VBScript).
Login.pl ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ сцСнарий Π²Ρ…ΠΎΠ΄Π° Π² систСму (PerlScript).
ConnectMultiSession.pl РСгистрируСтся Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… сСрвСрах UNIX для выполнСния Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄
(PerlScript).

.

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

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