Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ ΠΏΠΈΡΠ°Ρ‚ΡŒ – НаписаниС скриптов для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…. ΠŸΡ€Π°Π²ΠΈΠ»Π° написания скриптов. Алгоритм создания скрипта ΠΏΡ€ΠΎΠ΄Π°ΠΆ

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

Π½Π°Ρ‡Π°Π»ΠΎ / RUVDS.com corporate blog / Habr

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-программирования Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Π΄ΠΎΠ±Ρ€Π°Π»ΠΈΡΡŒ Π΄ΠΎ Π²Π΅Ρ€ΡˆΠΈΠ½ мастСрства, ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ сСкрСтами, Π° ΠΎΡ‚ Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ написал свой ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ скрипт, ΠΆΠ΄Ρ‘ΠΌ Π²ΠΏΠ΅Ρ‡Π°Ρ‚Π»Π΅Π½ΠΈΠΉ.

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

Администраторам 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 ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π½Π° нСпустоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΈ Π²Ρ‹Π²Π°Π»ΠΈΡ‚ΡŒΡΡ ΠΏΠΎ ошибкС Π² Ρ‚Π°ΠΊΠΎΠΌ случаС. И Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.
Π€Π°ΠΉΠ» Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈΠ· этого ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ здСсь.
ВСстовый Ρ„Π°ΠΉΠ» здСсь.

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

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

Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ для Π»Π΅Π½ΠΈΠ²Ρ‹Ρ… Windows-Π°Π΄ΠΌΠΈΠ½ΠΎΠ² / Habr

Π‘ΡƒΠ΄ΡƒΡ‡ΠΈ ΠΊΠ°ΠΊΠΎΠ΅-Ρ‚ΠΎ врСмя Π½Π°Π·Π°Π΄ Π°Π΄ΠΌΠΈΠ½ΠΎΠΌ (Π»Π΅Π½ΠΈΠ²Ρ‹ΠΌ), написал нСсколько скриптов, Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… Ρ€ΡƒΡ‚ΠΈΠ½Ρƒ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… Π΅Ρ‰Π΅ большС Π»Π΅Π½ΠΈΡ‚ΡŒΡΡ. Админством я большС Π½Π΅ занимаюсь, Π° скрипты Π²Ρ‹ΠΊΠ»Π°Π΄Ρ‹Π²Π°ΡŽ, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΊΠΎΠΌΡƒ пригодятся.

1. Авто-установка описания ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° локально ΠΈ Π² AD

Π’ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Π±Ρ‹Π» стандарт Π½Π° Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ², Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅ COMPUTERxxxx (xxxx β€” это Ρ†ΠΈΡ„Ρ€Π°), соотвСтсвСнно Π₯СлпдСску Π±Ρ‹Π»ΠΎ слоТно ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ° Π½Π°ΠΉΡ‚ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ для Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ диагностики ΠΈ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ, Π° объяснСниС рядовому ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΊΠ°ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ имя ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° Π·Π°Π½ΠΈΠΌΠ°Π»ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. РСшСниС ΠΏΡ€ΠΈΡˆΠ»ΠΎ Π² Π²ΠΈΠ΄Π΅ скрипта.

setcompdescr.zip

ПослС запуска ΡˆΠ΅Ρ€ΡΡ‚ΠΈΡ‚ всС ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹ ΠΈΠ· ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… OU ΠΈ устанавливаСт описаниС Π² зависимости ΠΎΡ‚ Π·Π°Π»ΠΎΠ³ΠΈΠ½Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

* Π‘ΠΊΡ€ΠΈΠΏΡ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ ΠΎΡ‚ ΡƒΡ‡Π΅Ρ‚ΠΊΠΈ, ΠΈΠΌΠ΅ΡŽΡ‰Π΅ΠΉ админскиС ΠΏΡ€Π°Π²Π° Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ… ΠΈ доступ Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ описания ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° Π² AD.
** НС ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° Windows 2000, Ссли Π·Π°Π»ΠΎΠ³ΠΈΠ½Π΅Π½Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π΅ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ администратор, с Windows Vista Π½Π΅ тСстировался.

ΠŸΠ΅Ρ€Π΅Π΄ запуском Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ скрипт.

2. Авто-очистка Β«ΠΏΠ°ΠΏΠΊΠΈ ΠΎΠ±ΠΌΠ΅Π½Π°Β»

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΎΡ‚Π΄Π΅Π» Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΈΠΌΠ΅Π» свою ΠΏΠ°ΠΏΠΊΡƒ, ΠΊΡƒΠ΄Π° Π½Π΅ ΠΈΠΌΠ΅Π»ΠΈ доступ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΡ‚Π΄Π΅Π»Ρ‹. Для ΠΎΠ±ΠΌΠ΅Π½ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΡ‚Π΄Π΅Π»Π°ΠΌΠΈ (ΠΏΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ†ΠΈΠΈ, тСкст, Π΄Π° ΠΈ ΠΌΡƒΠ·Ρ‹ΠΊΠ°) ΠΈΠ·Π²Ρ€Π°Ρ‰Π°Π»ΠΈΡΡŒ ΠΊΠ°ΠΊ ΠΌΠΎΠ³Π»ΠΈ. ΠŸΡ€ΠΈΡˆΠ»ΠΎΡΡŒ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠ°ΠΏΠΊΡƒ для ΠΎΠ±ΠΌΠ΅Π½Π° ΠΈ скрипт, ΠΎΡ‡ΠΈΡ‰Π°ΡŽΡˆΠΈΠΉ Π΅Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ информация Ρ‚Π°ΠΌ Π½Π΅ залСТивалась.

clear_exchange_v2s.zip

Π›ΠΎΠ³ΠΈΠΊΠ° скрипта: Ρ„Π°ΠΉΠ»Ρ‹, со дня создания/ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€ΠΎΡˆΠ»ΠΎ 10 Π΄Π½Π΅ΠΉ, ΠΏΠΎΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π² спСц ΠΏΠ°ΠΏΠΊΡƒ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΠ°ΠΏΠΊΠΈ ΠΎΠ±ΠΌΠ΅Π½Π° (_deletion_queue_), послС Ρ‡Π΅Π³ΠΎ ΠΈΠ· ΠΏΠ°ΠΏΠΊΠΈ Β«Π½Π° ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅Β», Ρ‡Π΅Ρ€Π΅Π· 7 Π΄Π½Π΅ΠΉ, Ρ„Π°ΠΉΠ»Ρ‹ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ совсСм.

ВсС настраиваСтся ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ Π² скриптС.

3. Π Π΅Π΄ΠΈΡ€Π΅ΠΊΡ‚ Β«Π˜Π·Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎΒ»

Microsoft прСдусмотрСла Ρ€Π΅Π΄ΠΈΡ€Π΅ΠΊΡ‚ практичСски всСго, ΠΊΡ€ΠΎΠΌΠ΅ Β«Π˜Π·Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎΒ». ΠŸΠΎΡ‡Π΅ΠΌΡƒ β€” Π·Π°Π³Π°Π΄ΠΊΠ°. Π’ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Π±Ρ‹Π»ΠΎ ТСсткоС ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ всС Π΄Π°Π½Π½Ρ‹Π΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡΡŒ Π½Π° сСрвСрах. ΠŸΠΎΡ‚Π΅Ρ€Ρ Β«Π˜Π·Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎΒ», ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π½Π΅ ΡΠΌΠ΅Ρ€Ρ‚Π΅Π»ΡŒΠ½Π°, Π½ΠΎ нСприятна. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ я написал скрипт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄Π΅Π»Π°Π΅Ρ‚ Ρ€Π΅Π΄ΠΈΡ€Π΅ΠΊΡ‚ Β«Π˜Π·Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎΒ» Π² ΠΏΠ°ΠΏΠΊΡƒ Π½Π° сСрвСрС.

redirect_favorites.zip

PS. Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ писались «для сСбя», поэтому, ΠΏΠ΅Ρ€Π΅Π΄ использованиСм настройтС ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Π½Π° Ρ‡Π΅ΠΌ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π½Π΅ Π²Π°ΠΆΠ½ΠΎΠΌ πŸ™‚

Как ΠΏΠΈΡΠ°Ρ‚ΡŒ скрипты для Windows?

Как ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ скрипты для сайтов, ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы ΠΈΠ»ΠΈ ΠΈΠ³Ρ€? Π’ Ρ€Π°ΠΌΠΊΠ°Ρ… Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠΈ ΠΌΡ‹ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° этот вопрос.

Как ΠΏΠΈΡΠ°Ρ‚ΡŒ скрипты для Windows: общая информация

Для написания скриптов ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ±Π»Π°Π΄Π°Ρ‚ΡŒ хотя Π±Ρ‹ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ знаниями Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Если ΠΆΠ΅ Π²Π°ΠΌ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ каТСтся нСпонятным, Ρ‚ΠΎ Π²ΠΎΡΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π΅Π» ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚Π°Ρ‚ΡŒΡ-другая. Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ, Ρ‡Ρ‚ΠΎ собой прСдставляСт скрипт. Π‘ΠΊΡ€ΠΈΠΏΡ‚ это Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ написан ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ языками программирования. Он хранится Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ, Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ ΠΈ систСмными настройками. ВсС это Π΄Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ стандартныС возмоТности, ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ смоТСт Π²Π·ΡΡ‚ΡŒ Π½Π° сСбя Ρ‡Π°ΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹.

Π Π°Π±ΠΎΡ‚Π° с Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌΠΈ

Π Π°Π±ΠΎΡ‚Π° с ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌΠΈ, ΠΏΠΎΠΆΠ°Π»ΡƒΠΉ, являСтся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π»Π΅Π³ΠΊΠΈΡ… занятий. Для написания скриптов Π½Π° Java Script Π±ΡƒΠ΄Π΅Ρ‚ достаточно знания этого языка программирования ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ½ΠΎΡ‚Π°. Однако ΠΈ здСсь ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ свои нСдостатки. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π΅ΡΡ‚ΡŒ Ρ‚Π° ΠΆΠ΅ самая стандартная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Β«Π‘Π»ΠΎΠΊΠ½ΠΎΡ‚Β», Π»Π΅Π³ΠΊΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ собой прСдставляСт скрипт. Если Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠ»ΠΎΡ…ΠΈΠ΅ намСрСния, Π° Π² ΠΊΠΎΠ΄Π΅ ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ, Ρ‚ΠΎ Π²ΠΏΠΎΠ»Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹. ΠŸΡ€ΠΈ ΠΎΡ‚Π²Π΅Ρ‚Π΅ Π½Π° вопрос ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ скрипты Π½Π° Java Script стоит ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ для этого Π½ΡƒΠΆΠ½ΠΎ просто ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹ΠΉ язык программирования. Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ слоТныС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ. Однако для Π½ΠΈΡ… ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Π²Π΅Π±-ΠΎΠ±ΠΎΠ·Ρ€Π΅Π²Π°Ρ‚Π΅Π»Π΅ΠΉ. ΠŸΡ€ΠΈ смСнС ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ придСтся ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ настройки. ΠŸΡ€ΠΈ использовании сторонних Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ слСдуСт ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ Π²Β  Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ созданный скрипт Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π½Π° сторонниС сСрвисы. НСобходимо ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ свои ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ ограничСния. Однако с ΠΈΡ… ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π² Ρ†Π΅Π»ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ всС, Ρ‡Ρ‚ΠΎ ΡƒΠ³ΠΎΠ΄Π½ΠΎ. Π—Π°Ρ‡Π΅ΠΌ ΠΆΠ΅ ΠΈΡ… ΡΠΎΠ·Π΄Π°ΡŽΡ‚? Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ Π½ΡƒΠΆΠ½Ρ‹ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

Π Π°Π±ΠΎΡ‚Π° с ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой Windows

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°. Для этого сущСствуСт большой Π½Π°Π±ΠΎΡ€ графичСских срСдств, Π½ΠΎ, ΠΊ соТалСнию, всС возмоТности ΠΎΠ½ΠΈ Π½Π΅ ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ приходится Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ систСмныС скрипты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ .bat. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π·Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ Π±ΠΎΠ»Π΅Π΅-ΠΌΠ΅Π½Π΅Π΅ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ врСмя, навСрняка встрСчался с Ρ‚Π°ΠΊΠΈΠΌΠΈ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ. Но ΠΊΠ°ΠΊ ΠΆΠ΅ ΠΏΠΈΡΠ°Ρ‚ΡŒ скрипты для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы Windows? Для этой Ρ†Π΅Π»ΠΈ Π½Π°ΠΌ понадобится стандартная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Β«Π‘Π»ΠΎΠΊΠ½ΠΎΡ‚Β». Для Π½Π°Ρ‡Π°Π»Π° Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ тСкстовый Ρ„Π°ΠΉΠ». НСобходимо Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² Π½Π΅ΠΌ систСмныС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. ПослС этого Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½Π° .bat. Π—Π°Ρ‚Π΅ΠΌ останСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π΄Π°Π½Π½ΡƒΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ. Если всС Π±ΡƒΠ΄Π΅Ρ‚ сдСлано ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹. Π’ случаС Π½Π΅Π³Ρ€Π°ΠΌΠΎΡ‚Π½ΠΎΠ³ΠΎ написания ΠΊΠΎΠ΄Π° ΠΈΠ»ΠΈ ошибок Π² Π»ΡƒΡ‡ΡˆΠ΅ΠΌ случаС Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚. По этой ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ Π»ΡƒΡ‡ΡˆΠ΅ Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ΡŒΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ пишСшь. ΠšΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΡ‡Π΅ΡΠΊΠΈ Π½Π΅ рСкомСндуСтся просто Π±Ρ€Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ ΠΈ Π±Π΅Π·Π΄ΡƒΠΌΠ½ΠΎ Π²ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π΅Π³ΠΎ. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ возникновСнию ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π² Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы. ΠŸΠΎΠ²Π΅Π·Π΅Ρ‚, Ссли опасныС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π±ΡƒΠ΄ΡƒΡ‚ осущСствлСны с гостСвого Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π°. Команда, выполнСнная ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ администратора, запросто ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ ваш ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ Π² Β«ΠΊΠΈΡ€ΠΏΠΈΡ‡Β».

А ΠΊΠ°ΠΊ обстоят Π΄Π΅Π»Π° с Linux? Π‘Ρ‚ΠΎΠΈΡ‚ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Windows – это Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ СдинствСнная опСрационная систСма. Π”ΠΎΠ²ΠΎΠ»ΡŒΠ½ΠΎ популярной систСмой Ρ‚Π°ΠΊΠΆΠ΅ являСтся Linux. Как ΠΆΠ΅ ΠΏΠΈΡΠ°Ρ‚ΡŒ скрипты Π² Π΄Π°Π½Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы? Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ здСсь ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ ΠΈΠ»ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ³ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π°. Π’Π°ΠΊΠΎΠΉ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ являСтся интСрфСйсом ΠΌΠ΅ΠΆΠ΄Ρƒ ядром ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ. По сути, скрипт Π² Linux прСдставляСт собой простой Ρ„Π°ΠΉΠ», Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΒ  пСрСчислСны систСмныС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. Π­Ρ‚ΠΎ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈ просто. ΠŸΡ€ΠΈ этом ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠΉ Ρ„Π°ΠΉΠ» Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ. Она ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ просто Ρ‡ΠΈΡ‚Π°Π΅Ρ‚. Если Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ конструкция Β«#!Β». Π•Π΅ Π½ΡƒΠΆΠ½ΠΎ просто Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ. ВсС  скрипты Π² Linux ΠΈΠΌΠ΅ΡŽΡ‚ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ .sh. НСобходимо ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ скриптов ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ мноТСство довольно слоТных Π²Π΅Ρ‰Π΅ΠΉ. Π’Π°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ инструмСнта ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ². Π’ Ρ†Π΅Π»ΠΎΠΌ сущСствуСт мноТСство Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² использования скриптов.

ПишСм скрипты

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

БСрвисы для обучСния Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ

Если вас интСрСсуСт процСсс написания скриптов, Ρ‚ΠΎ стоит Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ обучСния ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ. Как ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ выглядит такая «школа программистов»? Новичка ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, составлСнной ΠΎΠΏΡ‹Ρ‚Π½Ρ‹ΠΌΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ, Π²Π΅Π΄ΡƒΡ‚ ΠΎΡ‚ Π»Π΅Π³ΠΊΠΈΡ… ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΊ слоТным. ΠŸΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΎ динамичСскоС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΊ созданию сокСт-сСрвСров. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Π΅Π· спСшки ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅, усваивая поэтапно максимальноС количСство ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. По этой ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅, Ссли Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ слоТности, Ρ‚ΠΎ Π²Ρ‹ Π»Π΅Π³ΠΊΠΎ смоТСтС ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ Π½ΠΈΠΌ Π·Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ. Если ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ попавшийся сСрвис Π½Π΅ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΠΈΡ‚ всС ваши потрСбности, Ρ‚ΠΎ Π²Ρ‹ Π»Π΅Π³ΠΊΠΎ смоТСтС ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½ΠΎΠ²ΠΎΠ΅. Π—Π°Ρ‡Π΅ΠΌ ΠΆΠ΅ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ ΠΈΡ…? ΠœΠ½ΠΎΠ³ΠΈΡ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ интСрСсуСт вопрос, ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ скрипты для ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… ΠΈΠ³Ρ€. Однако это Π½Π΅ СдинствСнноС ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ возмоТности. Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΆΠ΅ рассмотрим процСсс написания скрипта. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Π²Π°ΠΌ нравится ΠΈΠ³Ρ€Π°Ρ‚ΡŒ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ-Ρ‚ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ сайтС. Π£Π²Ρ‹, этот процСсс прСдусматриваСт ΠΈΠ»ΠΈ Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ собствСнных срСдств, ΠΈΠ»ΠΈ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΌΠΎΠ½ΠΎΡ‚ΠΎΠ½Π½ΠΎΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… дСйствий. Если Π²Ρ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅Ρ‚Π΅ Π²Ρ‚ΠΎΡ€ΠΎΠΉ способ, Ρ‚ΠΎ скрипты это ΠΊΠ°ΠΊ Ρ€Π°Π· Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ. ΠŸΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈ Π² стационарных ΠΈΠ³Ρ€Π°Ρ…. Π’Π°ΠΌ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ пСрсонаТи ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ искусствСнного ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚Π°. Π§Ρ‚ΠΎΠ±Ρ‹ ΡΡ€Π°Π·ΠΈΡ‚ΡŒΡΡ с Π½ΠΈΠΌΠΈ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ свою Π²Π΅Ρ€ΡΠΈΡŽ искусствСнного ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚Π°. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π±ΠΈΡ‚Π²Ρƒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° с самим собой. Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… ΠΈΠ³Ρ€Π°Ρ…. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, сущСствуСт сайт ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎΠΉ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС максимальная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΈ с ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌΠΈ являСтся Π²Π°ΠΆΠ½Ρ‹ΠΌ аспСктом. Для этого ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½Π΅Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π²ΠΈΠ΄Π΅ скрипта, ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π² ΠΎΠ½Π»Π°ΠΉΠ½-Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ½ΡΡƒΠ»ΡŒΡ‚Π°Ρ†ΠΈΡŽ спСциалиста. ВозмоТностСй использования скриптов сущСствуСт большоС количСство.

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

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

Β 

Как ΠΏΠΈΡΠ°Ρ‚ΡŒ скрипты для Windows?

Как ΠΏΠΈΡΠ°Ρ‚ΡŒ скрипты для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы, сайтов ΠΈΠ»ΠΈ ΠΆΠ΅ просто ΠΈΠ³Ρ€? ΠžΡ‚Π²Π΅Ρ‚ Π½Π° этот, ΠΏΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Π»Π΅Π³ΠΊΠΈΠΉ вопрос ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ рассмотрСн Π² Ρ€Π°ΠΌΠΊΠ°Ρ… Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠΈ.

ΠžΠ±Ρ‰Π°Ρ информация

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

НачинаСм Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ²

ΠΊΠ°ΠΊ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΏΠΈΡΠ°Ρ‚ΡŒ скриптыЭто, ΠΏΠΎΠΆΠ°Π»ΡƒΠΉ, ΠΎΠ΄Π½ΠΎ ΠΈΠ· самых Π»Ρ‘Π³ΠΊΠΈΡ… занятий. Если ΠΌΡ‹ пишСм скрипты Π½Π° JavaScript, Ρ‚ΠΎ для этого достаточно ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ½ΠΎΡ‚Π° ΠΈ знания этого языка программирования. ΠŸΡ€Π°Π²Π΄Π°, Π΅ΡΡ‚ΡŒ Ρ‚ΡƒΡ‚ ΠΈ нСдостатки. Π’Π°ΠΊ, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π΅ΡΡ‚ΡŒ всё Ρ‚ΠΎΡ‚ ΠΆΠ΅ «Π‘Π»ΠΎΠΊΠ½ΠΎΡ‚», смоТСт ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΆΠ΅ собой прСдставляСт скрипт. И Ссли Ρƒ Π½Π΅Π³ΠΎ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠ»ΠΎΡ…ΠΈΠ΅ намСрСния, Π° Π² ΠΊΠΎΠ΄Π΅ ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ – Ρ‚ΠΎ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹. ΠžΡ‚Π²Π΅Ρ‡Π°Ρ Π½Π° вопрос ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΏΠΈΡΠ°Ρ‚ΡŒ скрипты Π½Π° JavaScript, слСдуСт ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ для этого достаточно ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹ΠΉ язык программирования. Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΈ Π±ΠΎΠ»Π΅Π΅ слоТныС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ. Но для Π½ΠΈΡ… Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Π²Π΅Π±-ΠΎΠ±ΠΎΠ·Ρ€Π΅Π²Π°Ρ‚Π΅Π»Π΅ΠΉ. И ΠΏΡ€ΠΈ смСнС ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ придётся ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ настройки. А ΠΏΡ€ΠΈ использовании сторонних Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠ΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ скрипт Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΡΡ‹Π»Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° сторонниС сСрвисы. Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ ΠΈΠΌΠ΅Π΅Ρ‚ свои ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Π΅ ограничСния. Но Π² Ρ†Π΅Π»ΠΎΠΌ с ΠΈΡ… ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ практичСски всё Ρ‡Ρ‚ΠΎ ΡƒΠ³ΠΎΠ΄Π½ΠΎ. Π—Π°Ρ‡Π΅ΠΌ ΠΆΠ΅ ΠΈΡ… ΠΏΠΈΡˆΡƒΡ‚ Π² Ρ‚Π°ΠΊΠΈΡ… случаях? Они Π½ΡƒΠΆΠ½Ρ‹ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° слСдуСт Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°.

Π Π°Π±ΠΎΡ‚Π°Π΅ΠΌ с ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой Windows

ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ скрипты для игрДопустим, Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°. Для этого сущСствуСт ΡˆΠΈΡ€ΠΎΡ‡Π°ΠΉΡˆΠΈΠΉ Π½Π°Π±ΠΎΡ€ графичСских срСдств, Π½ΠΎ всё ΠΎΠ½ΠΈ, ΡƒΠ²Ρ‹, Π½Π΅ ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ часто приходится ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ систСмныС скрипты. Они ΠΈΠΌΠ΅ΡŽΡ‚ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ .bat. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΠΎΠ»Π΅Π΅-ΠΌΠ΅Π½Π΅Π΅ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ врСмя Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π·Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ, ΡƒΠΆΠ΅ встрСчался с Ρ‚Π°ΠΊΠΈΠΌΠΈ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ. Но Π²ΠΎΡ‚ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ скрипты для Windows? Для этого Π½Π°ΠΌ пригодится всё Ρ‚ΠΎΡ‚ ΠΆΠ΅ «Π‘Π»ΠΎΠΊΠ½ΠΎΡ‚». Π‘Π½Π°Ρ‡Π°Π»Π° создаём Π½ΠΎΠ²Ρ‹ΠΉ тСкстовый Ρ„Π°ΠΉΠ». Π’ Π½Ρ‘ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ систСмныС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. ПослС этого Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° Π½Π° .bat. И остаётся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ эту Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ. Если всё ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, Ρ‚ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹, Ρ‡Ρ‚ΠΎ ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈΡ†Π΅Π·Ρ€Π΅Ρ‚ΡŒ. Но Π² случаС ошибок ΠΈΠ»ΠΈ Π½Π΅Π³Ρ€Π°ΠΌΠΎΡ‚Π½ΠΎΠ³ΠΎ написания ΠΊΠΎΠ΄Π° Π² Π»ΡƒΡ‡ΡˆΠ΅ΠΌ случаС Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Ρ‘Ρ‚. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π»ΡƒΡ‡ΡˆΠ΅ Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ΡŒΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Π΅ΡˆΡŒ. ΠŸΡ€ΠΎΡΡ‚ΠΎ Π±Ρ€Π°Ρ‚ΡŒ Π³Π΄Π΅-Ρ‚ΠΎ ΠΊΠΎΠ΄ ΠΈ Π±Π΅Π·Π΄ΡƒΠΌΠ½ΠΎ Π΅Π³ΠΎ Π²ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ катСгоричСски Π½Π΅ рСкомСндуСтся! Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌ Π² Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы. И Π΅Ρ‰Ρ‘ ΠΏΠΎΠ²Π΅Π·Ρ‘Ρ‚, Ссли Ρ‚Π°ΠΊΠΈΠ΅ опасныС дСйствия Π±Ρ‹Π»ΠΈ сдСланы с гостСвого Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π°. Π’Π΅Π΄ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΡ‚ администратора ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ Π² «ΠΊΠΈΡ€ΠΏΠΈΡ‡».

А Ρ‡Ρ‚ΠΎ с «Π›ΠΈΠ½ΡƒΠΊΡΠΎΠΌ»?

ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ скрипты для windowsΠ‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ «Π’индовс» – это Π½Π΅ СдинствСнная опСрационная систСма. Π•ΡΡ‚ΡŒ Π΅Ρ‰Ρ‘ ΠΈ «Π›ΠΈΠ½ΡƒΠΊΡ», ΠΏΡ€ΠΈΡ‡Π΅ΠΌ довольно популярный. Как ΠΏΠΈΡΠ°Ρ‚ΡŒ скрипты Π² этой ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС? Они ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ – ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ³ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся интСрфСйсом ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ ΠΈ ядром ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы. Π’ «Π›ΠΈΠ½ΡƒΠΊΡΠ΅» скрипты, ΠΏΠΎ сути, это просто Ρ„Π°ΠΉΠ», Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΡΡŽΡ‚ΡΡ систСмныС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. Π­Ρ‚ΠΎ просто ΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ. Но ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ΅ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΆΠ΅ Ρ‚Π°ΠΊΠΎΠΉ Ρ„Π°ΠΉΠ» слСдуСт ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΎΠ½Π° просто Ρ‡ΠΈΡ‚Π°Π΅Ρ‚. А Ссли Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ, Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ конструкция Β«#!Β», ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ. ВсС скрипты ΠΈΠΌΠ΅ΡŽΡ‚ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ .sh. Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ с ΠΈΡ… ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ довольно ΠΌΠ½ΠΎΠ³ΠΎ слоТных Π²Π΅Ρ‰Π΅ΠΉ. НапримСр, Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ². Π’ Ρ†Π΅Π»ΠΎΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² использования Ρ‡Ρ€Π΅Π·Π²Ρ‹Ρ‡Π°ΠΉΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ.

Учимся ΠΏΠΈΡΠ°Ρ‚ΡŒ скрипты

Π³Π΄Π΅ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΡΠΊΡ€ΠΈΠΏΡ‚Ρ‹Π˜Ρ‚Π°ΠΊ, ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒΡΡ со срСдой, Π³Π΄Π΅ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Π½Π°Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΊΠΎΠ΄. ΠŸΠΎΡ‡Ρ‚ΠΈ всСгда для этого достаточно ΠΎΠ΄Π½ΠΎΠ³ΠΎ «Π‘Π»ΠΎΠΊΠ½ΠΎΡ‚Π°». Но Π² Π½Ρ‘ΠΌ Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ строСниС конструкций, ΠΊ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ Π½Π΅ ΠΏΠΎΠ΄ΡΠ²Π΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ элСмСнты. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π² качСствС достойной Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Notepad++. Для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Π·Π½Π°Π΅Ρ‚ английский язык, Π½Π΅ Ρ‚Π°ΠΊ слоТно пСрСвСсти, Ρ‡Ρ‚ΠΎ это Ρ‚ΠΎΠΆΠ΅ «Π‘Π»ΠΎΠΊΠ½ΠΎΡ‚». Но с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΌΠΈ возмоТностями. Π­Ρ‚Π° нСбольшая, Π½ΠΎ ΠΎΡ‡Π΅Π½ΡŒ приятная Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π° Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ Π½Π° программистов. Π’ Π½Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ настройку отобраТСния ΠΏΠΎΡ‡Ρ‚ΠΈ всСго, Ρ‡Ρ‚ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΅ΡΡ‚ΡŒ. ΠŸΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΠ΅Ρ‚ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ инструмСнт отобраТСния ΠΊΠΎΠ΄Π° ΠΈ мноТСство Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ…ΠΎΡ‚ΡŒ ΠΈ ΠΌΠ΅Π»ΠΊΠΈΡ…, Π½ΠΎ приятных Π²Π΅Ρ‰ΠΈΡ†, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ΄Π΅Π»Π°ΡŽΡ‚ процСсс написания Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠΌΡ„ΠΎΡ€Ρ‚Π½Ρ‹ΠΌ. Π’ Ρ†Π΅Π»ΠΎΠΌ ΠΆΠ΅ Π½Π° вопрос «Π³Π΄Π΅ ΠΏΠΈΡΠ°Ρ‚ΡŒ скрипты» Π΄Π°Π½ΠΎ мноТСство Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ², ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ свою ΠΈΠ·ΡŽΠΌΠΈΠ½ΠΊΡƒ. Π•ΡΡ‚ΡŒ ΠΈ ΠΎΡ‡Π΅Π½ΡŒ Π½Π°Π²ΠΎΡ€ΠΎΡ‡Π΅Π½Π½Ρ‹Π΅ срСды, с эмуляторами ΠΈ мноТСством инструмСнтов ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ. Π’Ρ‹Π±ΠΈΡ€Π°ΠΉ, Ρ‡Ρ‚ΠΎ Π΄ΡƒΡˆΠ΅ поТСлаСтся. ПослС этого Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ·Π°Π±ΠΎΡ‚ΠΈΡ‚ΡŒΡΡ ΠΎ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ Π·Π½Π°Π½ΠΈΠΉ. Π’ качСствС базиса ΠΏΠΎΠ΄ΠΎΠΉΠ΄Ρ‘Ρ‚ справка ΠΏΠΎ языку программирования ΠΈΠ»ΠΈ ΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы. Для Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚ΠΎΠ³ΠΎ изучСния ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ нСсколько ΠΊΠ½ΠΈΠ³, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ±ΡŠΡΡΠ½ΡΡŽΡ‚ΡΡ особСнности машинной Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠΎΠ΄Π°.

БСрвисы обучСния Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ

Если интСрСсуСт, ΠΊΠ°ΠΊ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΏΠΈΡΠ°Ρ‚ΡŒ скрипты, Ρ‚ΠΎ Π½Π΅ слСдуСт ΡΠ±Ρ€Π°ΡΡ‹Π²Π°Ρ‚ΡŒ со счСтов ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ обучСния с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ. Как ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ выглядит такая Β«ΠΊΡƒΠ·Π½ΠΈΡ†Π° программистов»? По ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, составлСнной согласно мнСнию ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Ρ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², Π½ΠΎΠ²ΠΈΡ‡ΠΊΠ° Π²Π΅Π΄ΡƒΡ‚ ΠΎΡ‚ самого Π»Ρ‘Π³ΠΊΠΎΠ³ΠΎ ΠΊ слоТным ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°ΠΌ. Π’Π°ΠΊ, ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒΡΡ динамичСскоС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ созданию сокСт-сСрвСров. И Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π½Π΅ спСша, поэтапно, усваивая максимальноС количСство Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, Ссли Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ слоТности, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ Π·Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊ Π½ΠΈΠΌ. НС Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ попавшийся ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΠΈΡ‚ всС потрСбности, Π½ΠΎ Ρ‚ΠΎΠ³Π΄Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π±ΡƒΠ΄Π΅Ρ‚ просто ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΈΠ½ΠΎΠ΅.

Π—Π°Ρ‡Π΅ΠΌ ΠΆΠ΅ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ?

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

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

пишСм скрипты Π½Π° javascriptΠ£Π²Ρ‹, Π½ΠΎ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΡΡ‚Π°Ρ‚ΡŒΠΈ ΠΎΡ‡Π΅Π½ΡŒ слоТно ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ скрипты. МоТно, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Ρ‰ΠΈΠ΅ Ρ„Ρ€Π°Π·Ρ‹ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒ мСньшС мСста, Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Ρ‡Π΅Π³ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ, Π½ΠΎ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ это ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅. Π’Π΅Π΄ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠΏΡ‹Ρ‚ ΠΈ поиск ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ с ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Ρ€ΡƒΠ΄ΠΎΠ·Π°Ρ‚Ρ€Π°Ρ‚Π°ΠΌΠΈ выполняли свои «обязанности». Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅, Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² написании скриптов, ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ зависит ΠΎΡ‚ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ! ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π½ΡƒΠΆΠ½ΠΎ постоянно ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ, ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈ Π΄ΡƒΠΌΠ°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΆΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΡΡ‚Π°Π²Π»Π΅Π½Π½ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

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

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

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

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

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