Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Bash скриптов

Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Ρ‚Π΅Ρ… ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‚ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΠΊΠΎΠΌ с языком сцСнариСв Bash. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Bash скриптов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌΠΈ Π² вашСй повсСднСвной Ρ€Π°Π±ΠΎΡ‚Π΅.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Bash скриптов Π² Linux

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ ΠΊΠΎΠΌΠ°Π½Π΄ Ρƒ вас ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash. shell. Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash Ρ„ΠΎΡ‚ΠΎ. Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash-shell. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° shell. Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Ρ‚Π΅Ρ… ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‚ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΠΊΠΎΠΌ с языком сцСнариСв Bash. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Bash скриптов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌΠΈ Π² вашСй повсСднСвной Ρ€Π°Π±ΠΎΡ‚Π΅.

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅ Ρƒ мСня установлСн ΠΈΠΌΠ΅Π½Π½ΠΎ Bash.

1. ΠŸΠ΅Ρ€Π²Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°. ΠœΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ‘rm’

Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash. rm. Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash Ρ„ΠΎΡ‚ΠΎ. Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash-rm. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° rm. Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Ρ‚Π΅Ρ… ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‚ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΠΊΠΎΠΌ с языком сцСнариСв Bash. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Bash скриптов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌΠΈ Π² вашСй повсСднСвной Ρ€Π°Π±ΠΎΡ‚Π΅.

ВсС ΠΌΡ‹ Π·Π½Π°Π΅ΠΌ Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Π° rm, ΠΎΠ½Π° удаляСт Ρ„Π°ΠΉΠ»Ρ‹. Π­Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° создаСт ΠΏΠ°ΠΏΠΊΡƒ

/.archive. Π”Π°Π»Π΅Π΅ провСряСт Π·Π°Π΄Π°Π½ Π»ΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚. Π‘Π΅Π· Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° выдаст сообщСниС ΠΎΠ± ошибкС ΠΈ ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‚ΠΈΡ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ. Если Π΅ΠΉ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ, ΠΎΠ½Π° ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚ Π΅Π³ΠΎ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ

/.archive ΠΈ добавляСт Π΄Π°Ρ‚Ρƒ(час,дСнь,мСсяц) Π² Π½Π°Ρ‡Π°Π»ΠΎ имя Ρ„Π°ΠΉΠ»Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΊΠΎΠ³Π΄Π° ΡƒΠ΄Π°Π»ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ».

Π”Π°Π»Π΅Π΅ я ΠΏΡ€ΠΈΠ²Π΅Π΄Ρƒ Π΅Ρ‰Π΅ нСсколько ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Π½ΠΎ Π±Π΅Π· обяснСний. Π­Ρ‚ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, ΡƒΠ»ΡƒΡ‡ΡˆΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΡƒΠ³ΠΎΠ΄Π½ΠΎ. ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ своС.

2. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° наличия ΠΏΡƒΡ‚ΠΈ ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ PATH

3. Нормализация Π²Ρ‹Π²ΠΎΠ΄Π° Π΄Π°Ρ‚Ρ‹

4. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ сцСнариСв

Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash. colors. Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash Ρ„ΠΎΡ‚ΠΎ. Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash-colors. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° colors. Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Ρ‚Π΅Ρ… ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‚ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΠΊΠΎΠΌ с языком сцСнариСв Bash. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Bash скриптов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌΠΈ Π² вашСй повсСднСвной Ρ€Π°Π±ΠΎΡ‚Π΅.

Π’Π°ΠΊΠΈΠ΅ сцСнари ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ„Π°ΠΉΠ» ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ source ΠΈ Π²Ρ‹Π·Π²Π°Π² Π½ΡƒΠΆΠ½ΡƒΡŽ Π²Π°ΠΌ Ρ„ΡƒΠ½Ρ†ΠΈΡŽ.

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

БСгодня ΠΌΡ‹ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π»ΠΈ нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² Bash скриптов. Π£Π·Π½Π°Π»ΠΈ ΠΊΠ°ΠΊ ΠΈΡ… ΠΈΡΠΏΠΎΠ»Π·ΠΎΠ²Π°Ρ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅Ρ‡Π½Ρ‹Ρ… сцСнариСв. ΠžΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π° Bash, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΠΌΡƒ лишь вашС Π²ΠΎΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅. Но Π½Π° самом Π΄Π΅Π»Π΅, Ρ‚Π΅ΠΌΠ° Bash скриптов Π²Π΅Π»ΠΈΠΊΠ° ΠΈ Π΅ΡΡ‚ΡŒ Ρ†Π΅Π»Ρ‹Π΅ ΠΊΠ½ΠΈΠ³ΠΈ посвящСнныС этой Ρ‚Π΅ΠΌΠ΅. НадСюсь ΡΡ‚Π°Ρ‚ΡŒΡ Π±Ρ‹Π»Π° ΠΏΠΎΠ»Π΅Π·Π½Π°. ΠŸΡ€ΠΎ основы Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Bash Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ здСсь.

Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash. poster. Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash Ρ„ΠΎΡ‚ΠΎ. Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash-poster. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° poster. Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Ρ‚Π΅Ρ… ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‚ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΠΊΠΎΠΌ с языком сцСнариСв Bash. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Bash скриптов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌΠΈ Π² вашСй повсСднСвной Ρ€Π°Π±ΠΎΡ‚Π΅.

Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash. poster. Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash Ρ„ΠΎΡ‚ΠΎ. Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash-poster. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° poster. Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Ρ‚Π΅Ρ… ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‚ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΠΊΠΎΠΌ с языком сцСнариСв Bash. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Bash скриптов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌΠΈ Π² вашСй повсСднСвной Ρ€Π°Π±ΠΎΡ‚Π΅.

Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash. test3. Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash Ρ„ΠΎΡ‚ΠΎ. Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash-test3. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° test3. Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Ρ‚Π΅Ρ… ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‚ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΠΊΠΎΠΌ с языком сцСнариСв Bash. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Bash скриптов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌΠΈ Π² вашСй повсСднСвной Ρ€Π°Π±ΠΎΡ‚Π΅.

Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash. poster 1. Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash Ρ„ΠΎΡ‚ΠΎ. Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash-poster 1. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° poster 1. Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Ρ‚Π΅Ρ… ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‚ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΠΊΠΎΠΌ с языком сцСнариСв Bash. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Bash скриптов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌΠΈ Π² вашСй повсСднСвной Ρ€Π°Π±ΠΎΡ‚Π΅.

ΠžΡ†Π΅Π½ΠΈΡ‚Π΅ ΡΡ‚Π°Ρ‚ΡŒΡŽ:

Об Π°Π²Ρ‚ΠΎΡ€Π΅

ПодсСл на Slackware.

6 ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π²

БСгодня Π½ΠΈΡ‡Π΅Π³ΠΎ ΠΌΡ‹ Π½Π΅ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π»ΠΈ.
ΠΊΡ€ΠΎΠΌΠ΅ ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Π»ΠΈ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΌ Ρƒ нас Π·Π° ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Π° дальшС
я просто Π΄Π΅Ρ€Π°Π½ΡƒΠ» с Π½Π΅Ρ‚Π° ΠΏΠ°Ρ€Ρƒ «ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ²» Π½ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΌ я сам Π½Π΅ Π² курсС рСбята.

ВмСсто Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ скрипта ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ which ΠΈΠ»ΠΈ whereis. (этот ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π½Π° ошибки Π½Π΅ провСрял). Π€ΡƒΠ½Ρ†ΠΈΠΎΠ½Π°Π» Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅Π³ΠΎ скрипта ΡƒΠΌΠ΅Π΅Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Π° date.

ΠΊΡ€ΡƒΡ‚ΠΎ. зря ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π»

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

Π›ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ bash-скриптов: ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ΅ руководство ΠΏΠΎ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΌ ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ скриптам bash

Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash. . Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash Ρ„ΠΎΡ‚ΠΎ. Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash-. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° . Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Ρ‚Π΅Ρ… ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‚ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΠΊΠΎΠΌ с языком сцСнариСв Bash. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Bash скриптов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌΠΈ Π² вашСй повсСднСвной Ρ€Π°Π±ΠΎΡ‚Π΅.
Shell wallpaper by manapi

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

Команда Mail.ru Cloud Solutions ΠΏΠ΅Ρ€Π΅Π²Π΅Π»Π° ΡΡ‚Π°Ρ‚ΡŒΡŽ с рСкомСндациям, благодаря ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π²Ρ‹ смоТСтС Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΈΡΠ°Ρ‚ΡŒ, ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ свои сцСнарии. Π₯ΠΎΡ‚ΠΈΡ‚Π΅ Π²Π΅Ρ€ΡŒΡ‚Π΅, Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π½Π΅Ρ‚, Π½ΠΎ Π½ΠΈΡ‡Ρ‚ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒΡΡ с ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€Π΅Π½ΠΈΠ΅ΠΌ ΠΎΡ‚ написания чистого, Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ ΠΊ использованию bash-ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·.

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

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π»ΠΎΠ²ΡƒΡˆΠ΅ΠΊ

Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ скриптов bash, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ я сталкивался, Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ использовали эффСктивный ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ очистки, ΠΊΠΎΠ³Π΄Π° Π²ΠΎ врСмя выполнСния скрипта происходит Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΠΎΠ΅.

НСоТиданности ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΠΈΠ·Π²Π½Π΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ сигнала ΠΎΡ‚ ядра. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ‚Π°ΠΊΠΈΡ… случаСв Ρ‡Ρ€Π΅Π·Π²Ρ‹Ρ‡Π°ΠΉΠ½ΠΎ Π²Π°ΠΆΠ½Π° для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ сцСнарии Π±Ρ‹Π»ΠΈ достаточно Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΌΠΈ для запуска Π² ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ΅Π½-систСмах. Π― часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Ρ‚Π°ΠΊΠΈΠ΅ сцСнарии:

ВстроСнныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ set β€” быстроС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈ ошибкС

ΠžΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° ошибки, ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ½ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚, ΠΈ быстро ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π°Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅. НичСго Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ…ΡƒΠΆΠ΅, Ρ‡Π΅ΠΌ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π²Ρ€ΠΎΠ΄Π΅ Ρ‚Π°ΠΊΠΎΠΉ:

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ пСрСмСнная directory_name Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π°.

ПодобноС написаниС скриптов заставляСт вас Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½Π΅Π΅ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚ΡŒΡΡ ΠΊ повСдСнию всСх ΠΊΠΎΠΌΠ°Π½Π΄ Π² скриптС ΠΈ ΠΏΡ€Π΅Π΄ΡƒΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ возникновСния ошибки ΠΏΡ€Π΅ΠΆΠ΄Π΅, Ρ‡Π΅ΠΌ ΠΎΠ½Π° застанСт врасплох.

ShellCheck для выявлСния ошибок Π²ΠΎ врСмя Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ

Π‘Ρ‚ΠΎΠΈΡ‚ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅ ShellCheck Π² ваши ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ тСстирования, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ ваш ΠΊΠΎΠ΄ bash Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π»ΡƒΡ‡ΡˆΠΈΡ… ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊ.

Π― ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ Π΅Π³ΠΎ Π² своих Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… срСдах Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΎΡ‚Ρ‡Π΅Ρ‚Ρ‹ ΠΎ синтаксисС, сСмантикС ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… Π² ΠΊΠΎΠ΄Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ я ΠΌΠΎΠ³ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅. Π­Ρ‚ΠΎ инструмСнт статичСского Π°Π½Π°Π»ΠΈΠ·Π° для Π²Π°ΡˆΠΈΡ… скриптов bash, ΠΈ я Π½Π°ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ Π΅Π³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ.

ИспользованиС своих exit-ΠΊΠΎΠ΄ΠΎΠ²

ΠšΠΎΠ΄Ρ‹ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° Π² POSIX β€” это Π½Π΅ просто ноль ΠΈΠ»ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ†Π°, Π° ноль ΠΈΠ»ΠΈ Π½Π΅Π½ΡƒΠ»Π΅Π²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ эти возмоТности для Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΠΊΠΎΠ΄ΠΎΠ² ошибок (ΠΌΠ΅ΠΆΠ΄Ρƒ 201-254) для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… случаСв ошибок.

Π­Ρ‚Π° информация ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Ρ‚Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ сцСнариями, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Π΅Ρ€Ρ‚Ρ‹Π²Π°ΡŽΡ‚ ваш, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‚ΠΎΡ‡Π½ΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠΉ Ρ‚ΠΈΠΏ ошибки ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π», ΠΈ Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: поТалуйста, Π±ΡƒΠ΄ΡŒΡ‚Π΅ особСнно остороТны с ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ опрСдСляСтС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π΄ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ случайного пСрСопрСдСлСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… срСды.

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ-Π»ΠΎΠ³Π³Π΅Ρ€Ρ‹

Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ структуру вСдСния Π»ΠΎΠ³ΠΎΠ², внося измСнСния Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΎΠ΄Π½ΠΎΠΌ мСстС:

НапримСр, Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅:

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

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

АрхитСктура для ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ использования ΠΈ чистого состояния систСмы

ΠœΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹ΠΉ / ΠΌΠ½ΠΎΠ³ΠΎΡ€Π°Π·ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠ΄

Π― Π΄Π΅Ρ€ΠΆΡƒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°/скрипта bash, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ…ΠΎΡ‡Ρƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ. Всё, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ сохранСно Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΎ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ хотят ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ возмоТности. Вакая организация ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π΄Ρ€ΡƒΠ³ΠΈΡ… скриптов, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ кодовая Π±Π°Π·Π° ΠΌΠ°Π»Π° ΠΈ Π»Π΅Π³ΠΊΠΎ тСстируСма.

ΠžΡΡ‚Π°Π²ΡŒΡ‚Π΅ послС сСбя Ρ‡ΠΈΡΡ‚ΡƒΡŽ систСму

ПослС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π±ΠΎΡ‚Ρ‹ очистка Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ обСспСчСна Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°Ρ… Π»ΠΎΠ²ΡƒΡˆΠ΅ΠΊ, обсуТдаСмых Π²Ρ‹ΡˆΠ΅. Если ΠΎΠ± ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΉ Π½Π΅ ΠΏΠΎΠ·Π°Π±ΠΎΡ‚ΠΈΡ‚ΡŒΡΡ, ΠΎΠ½ΠΈ Π½Π°ΠΊΠ°ΠΏΠ»ΠΈΠ²Π°ΡŽΡ‚ΡΡ, ΠΈ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ-Ρ‚ΠΎ этапС Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π½Π° хостС, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹ΠΉ диск.

ИспользованиС lock-Ρ„Π°ΠΉΠ»ΠΎΠ²

Часто Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ экзСмпляра сцСнария Π½Π° хостС Π² любой ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ lock-Ρ„Π°ΠΉΠ»ΠΎΠ².

Π― ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ создаю lock-Ρ„Π°ΠΉΠ»Ρ‹ Π² /tmp/project_name/*.lock ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽ ΠΈΡ… Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π² Π½Π°Ρ‡Π°Π»Π΅ скрипта. Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ скрипта ΠΈ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ состояния систСмы Π΄Ρ€ΡƒΠ³ΠΈΠΌ сцСнариСм, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΌ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ. Lock-Ρ„Π°ΠΉΠ»Ρ‹ Π½Π΅ Π½ΡƒΠΆΠ½Ρ‹, Ссли Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ скрипт выполнялся ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ Π½Π° Π΄Π°Π½Π½ΠΎΠΌ хостС.

Π˜Π·ΠΌΠ΅Ρ€ΠΈΡ‚ΡŒ ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ

Нам часто приходится Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ со сцСнариями, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½Ρ‹ΠΌΠΈ опСрациями с Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Π’Π°ΠΊΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π² сСбя ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ шагов: Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΉ, ΠΈΠΌΠΏΠΎΡ€Ρ‚ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ² ΠΎ состоянии ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.

Π’ Ρ‚Π°ΠΊΠΈΡ… случаях я всСгда ΡΡ‚Π°Ρ€Π°ΡŽΡΡŒ Ρ€Π°Π·Π±ΠΈΠ²Π°Ρ‚ΡŒ сцСнарий Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ малСнькиС скрипты ΠΈ ΡΠΎΠΎΠ±Ρ‰Π°Ρ‚ΡŒ ΠΎΠ± ΠΈΡ… состоянии ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ:

ПозТС я ΠΌΠΎΠ³Ρƒ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ врСмя выполнСния с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ:

Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΌΠ½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½Ρ‹Π΅/ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹Π΅ области Π² скриптах, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΡƒΠΆΠ΄Π°ΡŽΡ‚ΡΡ Π² ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ.

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

19 ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… shell-скриптов Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ

Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash. darth vader smoke h. Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash Ρ„ΠΎΡ‚ΠΎ. Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash-darth vader smoke h. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° darth vader smoke h. Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Ρ‚Π΅Ρ… ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‚ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΠΊΠΎΠΌ с языком сцСнариСв Bash. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Bash скриптов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌΠΈ Π² вашСй повсСднСвной Ρ€Π°Π±ΠΎΡ‚Π΅.

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

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

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

ΠŸΡ€ΠΎΡΡ‚Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

Π˜Ρ‚Π°ΠΊ, Π½Π΅ Ρ€Π°Π·Π³Π»Π°Π³ΠΎΠ»ΡŒΡΡ‚Π²ΡƒΡ понапрасну, сразу ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌ:

Π­Ρ‚Π° простая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ Ρ‚Π΅Π±Π΅ внСшний IP β€” ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, Ссли Π² Π‘Π΅Ρ‚ΡŒ Ρ‚Ρ‹ Ρ…ΠΎΠ΄ΠΈΡˆΡŒ Ρ‡Π΅Ρ€Π΅Π· Ρ€ΠΎΡƒΡ‚Π΅Ρ€. ВсС, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° Π΄Π΅Π»Π°Π΅Ρ‚, β€” просто обращаСтся ΠΊ сСрвСру ifconfig.co, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ IP-шник ΠΎΠ΄Π½ΠΎΠΉ строкой вмСсто ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠΉ Π²Π΅Π±-страницы.

И Π΄Π°, это вовсС Π½Π΅ скрипт, это просто ΠΊΠΎΠΌΠ°Π½Π΄Π°, Π½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π² скрипт, достаточно ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π΅Π΅ Π² тСкстовый Ρ„Π°ΠΉΠ» ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΉ строкой Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ шСбанг, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ символы #!, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ слСдуСт имя ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ³ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π°:

Π”Π°Π»Π΅Π΅ скрипт сохраняСм Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³

/bin ΠΈ Π½Π°Π·Π½Π°Ρ‡Π°Π΅ΠΌ ΠΏΡ€Π°Π²Π° Π½Π° исполнСниС:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ myip.sh.

Π­Ρ‚ΠΎΡ‚ скрипт позволяСт ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ сводку ΠΏΠΎΠ³ΠΎΠ΄Ρ‹ Π½Π° Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ дня. ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ‚ΡƒΡ‚ Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅, ΠΊΠ°ΠΊ Π² случаС с ifconfig.co.

Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash. 1473322084 0a19 weather. Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash Ρ„ΠΎΡ‚ΠΎ. Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash-1473322084 0a19 weather. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 1473322084 0a19 weather. Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Ρ‚Π΅Ρ… ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‚ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΠΊΠΎΠΌ с языком сцСнариСв Bash. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Bash скриптов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌΠΈ Π² вашСй повсСднСвной Ρ€Π°Π±ΠΎΡ‚Π΅. Π‘Π²ΠΎΠ΄ΠΊΠ° ΠΏΠΎΠ³ΠΎΠ΄Ρ‹ Π² консоли

Xakep #212. Π‘Π΅ΠΊΡ€Π΅Ρ‚Ρ‹ Π΄Π°Ρ€ΠΊΠ½Π΅Ρ‚Π°

А Ρ‚Π°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ΅ описаниС Ρ‡Π΅Π³ΠΎ-Π»ΠΈΠ±ΠΎ Π² Π’ΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΠΈ, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ DNS-запроса вмСсто обращСния ΠΊ Π²Π΅Π±-сСрвСру. ΠšΡΡ‚Π°Ρ‚ΠΈ, Π²Π΅Π±-сСрвСр Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку Ρ‚ΠΎΠΆΠ΅ ΠΎΡ‡Π΅Π½ΡŒ Π»Π΅Π³ΠΊΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ:

Π”Π°Π½Π½Ρ‹ΠΉ скрипт основан Π½Π° ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π΅ netcat (nc), ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ ΡˆΠ²Π΅ΠΉΡ†Π°Ρ€ΡΠΊΠΈΠΌ армСйским Π½ΠΎΠΆΠΎΠΌ для сСтСвых ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. Π‘ΠΊΡ€ΠΈΠΏΡ‚ запускаСт Ρ†ΠΈΠΊΠ», Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ nc, которая ΡΠ»ΡƒΡˆΠ°Π΅Ρ‚ 80-ΠΉ ΠΏΠΎΡ€Ρ‚ ΠΈ Π² ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° запрос ΠΎΡ‚Π΄Π°Π΅Ρ‚ file.html, отправляя ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹ΠΉ запрос Π² Π½ΠΈΠΊΡƒΠ΄Π° (символ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ noop, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΡƒΡΡ‚ΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ).

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ простых скриптов ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΌΠΎΠΆΠ½ΠΎ запросто ΡΠ»ΡƒΡˆΠ°Ρ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-Ρ€Π°Π΄ΠΈΠΎ:

ЕстСствСнно, ΠΏΠ»Π΅ΠΉ-лист Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ M3U Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°Ρ€Π°Π½Π΅Π΅ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ с сайта радиостанции. ΠšΡΡ‚Π°Ρ‚ΠΈ, Ссли Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ MPlayer с Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ —input-ipc-server=/tmp/mpvsocket, ΠΈΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ, записывая ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² Ρ„Π°ΠΉΠ». НапримСр, Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€ΠΎΠΌΠΊΠΎΡΡ‚ΡŒ:

Π‘ΠΎΠ·Π΄Π°ΠΉ Π΄Π²Π° скрипта: ΠΎΠ΄ΠΈΠ½ для запуска, Π΄Ρ€ΡƒΠ³ΠΎΠΉ для остановки Ρ€Π°Π΄ΠΈΠΎ (со строкой killall mpv), повСсь ΠΈΡ… Π½Π° Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ стол ΠΈ настрой горячиС клавиши DE Π½Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ воспроизвСдСниСм. Вуаля, Ρƒ тСбя Π³ΠΎΡ‚ΠΎΠ² ΠΏΠ»Π΅Π΅Ρ€ для ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-Ρ€Π°Π΄ΠΈΠΎ, Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ, просто ΠΊΠ»ΠΈΠΊΠ½ΡƒΠ² ΠΏΠΎ ΠΈΠΊΠΎΠ½ΠΊΠ΅ Π½Π° Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ столС. И ΠΎΠ½ ΠΏΠΎΡ‡Ρ‚ΠΈ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°ΡΡ…ΠΎΠ΄ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΈΠ»ΠΈ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ‚Ρ€Π΅ΠΉ.

Но отвлСчСмся ΠΎΡ‚ сСтСвых ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΈ вСрнСмся ΠΊ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π΄Π΅Π»Π°ΠΌ.

А это ΡƒΠΆΠ΅ скрипт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ запускаСт ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π² ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅. Π•Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для мноТСства Ρ€Π°Π·Π½Ρ‹Ρ… Ρ†Π΅Π»Π΅ΠΉ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ для автоматичСского Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΏΠ»Π΅Π΅Ρ€Π° ΠΏΡ€ΠΈ сохранСнии MP3-Ρ„Π°ΠΉΠ»Π°. Или просто Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ Π½Π° дСсктоп, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π² качСствС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ notify-send:

ДСсктоп

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

Π—Π΄Π΅ΡΡŒ всС просто. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ wget скрипт Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ страницу www.reddit.com/r/wallpaper, ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ Π΅Π΅ grep, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡ‰Π΅Ρ‚ Π½Π° Π½Π΅ΠΉ ссылки Π½Π° imgur, Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ ΡΠ»ΡƒΡ‡Π°ΠΉΠ½ΡƒΡŽ ссылку с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ shuf, Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Π΅Π΅ ΠΎΠΏΡΡ‚ΡŒ ΠΆΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ wget ΠΈ устанавливаСт Π² качСствС ΠΎΠ±ΠΎΠ΅Π², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ feh (это Ρ‚Π°ΠΊΠΎΠΉ ΠΌΠΈΠ½ΠΈΠ°Ρ‚ΡŽΡ€Π½Ρ‹ΠΉ просмотрщик ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, Π΅Π³ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ). Π‘ΠΊΡ€ΠΈΠΏΡ‚ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½Π° Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ стол, ΠΈ Ρ‚ΠΎΠ³Π΄Π° ΠΏΠΎ ΠΊΠ»ΠΈΠΊΡƒ Ρƒ тСбя Π±ΡƒΠ΄ΡƒΡ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΠΎΠ±ΠΎΠΈ.

А это скрипт для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ/Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Ρ‚Π°Ρ‡ΠΏΠ°Π΄Π° Π½ΠΎΡƒΡ‚Π±ΡƒΠΊΠ°: Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚, Ссли ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½, ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚. Π’ своСй Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ synclient, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΡƒΡŽ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Ρ‚Π°Ρ‡ΠΏΠ°Π΄Π°ΠΌΠΈ производства Synaptics (90% Ρ‚Π°Ρ‡ΠΏΠ°Π΄ΠΎΠ² Π΄Π΅Π»Π°ΡŽΡ‚ ΠΎΠ½ΠΈ). ΠŸΡ€ΠΈ запускС Π±Π΅Π· Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ‚Π°Ρ‡ΠΏΠ°Π΄Π΅, Π² Ρ‚ΠΎΠΌ числС строку TouchpadOff = 1, Ссли ΠΎΠ½ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Π½, ΠΈ TouchpadOff = 2, Ссли ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½. Π‘ΠΊΡ€ΠΈΠΏΡ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ Π² зависимости ΠΎΡ‚ состояния Ρ‚Π°Ρ‡ΠΏΠ°Π΄Π° Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΈΠ»ΠΈ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π΅Π³ΠΎ.

Π’Ρƒ ΠΆΠ΅ ΡΠ°ΠΌΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для создания ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠΉ ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹ слСТСния, которая Π΄Π΅Π»Π°Π΅Ρ‚ снимки Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹, ΠΊΠΎΠ³Π΄Π° ΡŽΠ·Π΅Ρ€ прикасаСтся ΠΊ ΠΌΡ‹ΡˆΠΈ:

Для записи ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π΅ΠΎ с Π²Π΅Π±-ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ скрипт:

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Ρ‚Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡˆΡŒ video.avi Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ MPEG4 с Π±ΠΈΡ‚Ρ€Π΅ΠΉΡ‚ΠΎΠΌ 1800 ΠΈ Π°ΡƒΠ΄ΠΈΠΎΠ΄ΠΎΡ€ΠΎΠΆΠΊΠΎΠΉ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ MP3 с Π±ΠΈΡ‚Ρ€Π΅ΠΉΡ‚ΠΎΠΌ 128.

А Ρ‚Π°ΠΊ Ρ‚Ρ‹ моТСшь Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ скринкаст. 1366×768 β€” Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ стола. ΠŸΡ€ΠΎΡΡ‚ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° всСгда ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ import:

ПослС Π΅Π΅ запуска Π·Π½Π°Ρ‡ΠΎΠΊ ΠΌΡ‹ΡˆΠΈ измСнится Π½Π° Β«ΠΏΡ€ΠΈΡ†Π΅Π»Β», с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΎΠΊΠ½ΠΎ. ПовСсив эту ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π½ΡƒΡŽ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ, Ρ‚Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡˆΡŒ практичСски ΠΈΠ΄Π΅Π°Π»ΡŒΠ½ΡƒΡŽ систСму снятия ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚ΠΎΠ², Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ Π½Π΅ ΠΆΡ€ΡƒΡ‰ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ, ΠΊΠ°ΠΊ это Π΄Π΅Π»Π°ΡŽΡ‚ спСциализированныС прилоТСния, постоянно висящиС Π² Ρ‚Ρ€Π΅Π΅.

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΈ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ внСшний ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ Ρ‚ΠΎΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки:

Π”Π°Π½Π½Ρ‹ΠΉ скрипт ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ основной ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ носит имя LVDS, Π° внСшний β€” VGA-0. Π­Ρ‚ΠΎ стандартная ситуация для Π½ΠΎΡƒΡ‚Π±ΡƒΠΊΠΎΠ²; Ссли Ρ‚Ρ‹ Π½Π΅ ΡƒΠ²Π΅Ρ€Π΅Π½, моТСшь ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ xrandr: ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ скрипту Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° off ΠΎΠ½ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ внСшний ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€, Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ on, Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π΅Π³ΠΎ, располагая ΠΏΠΎ Π»Π΅Π²ΡƒΡŽ сторону ΠΎΡ‚ основного (Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ —left-of LVDS Π² ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅). Π”Π°Π»Π΅Π΅ скрипт добавляСт Π½ΠΎΠ²ΡƒΡŽ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ для ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€Π° с Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ 1920 x 1080 ΠΈ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΡƒΠ΅Ρ‚ Π΅Π³ΠΎ. Π’ самом ΠΊΠΎΠ½Ρ†Π΅ скрипт устанавливаСт Π΄Π΅Ρ„ΠΎΠ»Ρ‚Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ DPI β€” ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°, ΠΏΡ€ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€Π° с Π΄Ρ€ΡƒΠ³ΠΈΠΌ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ ΠΎΠ½ΠΎ часто слСтаСт.

Он ΠΆΠ΅ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ нСстандартноС Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, Β«Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠ΅Β» ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

Google, Twitter, Dropbox ΠΈ Ρ‚ΠΎΡ€Ρ€Π΅Π½Ρ‚Ρ‹

ΠžΡ‚Π²Π»Π΅Ρ‡Π΅ΠΌΡΡ ΠΎΡ‚ дСсктопных Π΄Π΅Π» ΠΈ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ сСтСвых сСрвисах. НачнСм, разумССтся, с Google. Π’ΠΎΡ‚ Ρ‚Π°ΠΊ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ скрипт для получСния ΠΏΠ΅Ρ€Π²Ρ‹Ρ… дСсяти Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² поиска:

Π‘ΠΊΡ€ΠΈΠΏΡ‚ Π΄Π΅Π»Π°Π΅Ρ‚ запрос ΠΊ Google с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡƒΠΆΠ΅ Π·Π½Π°ΠΊΠΎΠΌΠΎΠ³ΠΎ Π½Π°ΠΌ curl, замСняя ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ Π² поисковой строкС Π½Π° ΠΏΠ»ΡŽΡΡ‹. Π”Π°Π»Π΅Π΅ выискиваСт Π² ΠΎΡ‚Π²Π΅Ρ‚Π½ΠΎΠΌ HTML ссылки ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ ΠΈΡ… Π½Π° экран. ВсС просто, Ρ…ΠΎΡ‚ΡŒ ΠΈ каТСтся слоТным.

Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash. 1473322169 34f8 google. Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash Ρ„ΠΎΡ‚ΠΎ. Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash-1473322169 34f8 google. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 1473322169 34f8 google. Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Ρ‚Π΅Ρ… ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‚ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΠΊΠΎΠΌ с языком сцСнариСв Bash. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Bash скриптов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌΠΈ Π² вашСй повсСднСвной Ρ€Π°Π±ΠΎΡ‚Π΅. Π˜Ρ‰Π΅ΠΌ Π² Google ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки

Π’Ρ‚ΠΎΡ€ΠΎΠΉ популярный сСрвис β€” YouTube:

Π—Π΄Π΅ΡΡŒ всС совсСм просто. Π‘ΠΊΡ€ΠΈΠΏΡ‚ всСго лишь ΠΏΡ€ΠΎΠΈΠ³Ρ€Ρ‹Π²Π°Π΅Ρ‚ Π²ΠΈΠ΄Π΅ΠΎ с ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ Π² Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π΅ ID с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ»Π΅Π΅Ρ€Π° mpv. ЕстСствСнно, youtube-dl придСтся ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π·Π°Ρ€Π°Π½Π΅Π΅.

Как насчСт Ρ‚Π²ΠΈΡ‚Ρ‚Π΅Ρ€Π°? НСт ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, Π²ΠΎΡ‚ ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹ΠΉ Π±ΠΎΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π° Π²Ρ…ΠΎΠ΄Π΅ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, выполняСт Π΅Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ³ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° ΠΈ отправляСт Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ ΡŽΠ·Π΅Ρ€Ρƒ.

Π‘ΠΊΡ€ΠΈΠΏΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹ΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ttytter, читая Π² Ρ†ΠΈΠΊΠ»Π΅ послСднСС direct message, Π΄Π°Π»Π΅Π΅ ΠΎΠ½ провСряСт, Π½Π΅ Π±Ρ‹Π»Π° Π»ΠΈ такая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡƒΠΆΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π°, ΠΈ, Ссли Π½Π΅Ρ‚, выполняСт Π΅Π΅ ΠΈ отправляСт ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ USER ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ, ΠΏΠΎΠΏΡƒΡ‚Π½ΠΎ обрСзая Π΄ΠΎ 140 символов.

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

Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash. 1473322189 55f6 ttytter. Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash Ρ„ΠΎΡ‚ΠΎ. Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash-1473322189 55f6 ttytter. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 1473322189 55f6 ttytter. Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Ρ‚Π΅Ρ… ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‚ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΠΊΠΎΠΌ с языком сцСнариСв Bash. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Bash скриптов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌΠΈ Π² вашСй повсСднСвной Ρ€Π°Π±ΠΎΡ‚Π΅. Ttytter Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ ΠΊΠ»ΡŽΡ‡

Π’Π²ΠΈΡ‚Ρ‚Π΅Ρ€ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для выполнСния ΠΊΠΎΠΌΠ°Π½Π΄, Π½ΠΎ ΠΈ для ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΌΠ°ΡˆΠΈΠ½Ρ‹. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ скрипт отправляСт Π² Π»Π΅Π½Ρ‚Ρƒ сообщСниС с ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎ состоянии ΠΌΠ°ΡˆΠΈΠ½Ρ‹ (имя хоста, uptime, Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ°, свободная ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΈ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π½Π° CPU):

Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash. 1473322198 e528 ttytter2. Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash Ρ„ΠΎΡ‚ΠΎ. Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash-1473322198 e528 ttytter2. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 1473322198 e528 ttytter2. Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Ρ‚Π΅Ρ… ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‚ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΠΊΠΎΠΌ с языком сцСнариСв Bash. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Bash скриптов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌΠΈ Π² вашСй повсСднСвной Ρ€Π°Π±ΠΎΡ‚Π΅. ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Twitter

Ну ΠΈ ΠΏΠΎΠ΄ ΠΊΠΎΠ½Π΅Ρ† ΠΏΡ€ΠΈΠ²Π΅Π΄Ρƒ скрипт, Π½Π΅ связанный с сСтСвыми сСрвисами, Π½ΠΎ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉ прямоС ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΊ сСтям ΠΈ ΠΊ Ρ‚ΠΎΠΌΡƒ, Π·Π°Ρ‡Π΅ΠΌ ΠΌΡ‹ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ. Π­Ρ‚ΠΎ скрипт для запуска ΠΈ остановки Ρ‚ΠΎΡ€Ρ€Π΅Π½Ρ‚-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Π²ΠΎ врСмя простоя ΠΌΠ°ΡˆΠΈΠ½Ρ‹:

Π‘ΠΊΡ€ΠΈΠΏΡ‚ ΡƒΡ…ΠΎΠ΄ΠΈΡ‚ Π² бСсконСчный Ρ†ΠΈΠΊΠ», ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ΠΌΠΈΠ½ΡƒΡ‚Ρƒ провСряя, сколько миллисСкунд ΠΏΡ€ΠΎΡˆΠ»ΠΎ с ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°, ΠΊΠΎΠ³Π΄Π° ΡŽΠ·Π΅Ρ€ Ρ‡Ρ‚ΠΎ-Π»ΠΈΠ±ΠΎ Π΄Π΅Π»Π°Π» (для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° xprintidle). Если ΠΏΡ€ΠΎΡˆΠ»ΠΎ ΡƒΠΆΠ΅ 600 000 мс (Π΄Π΅ΡΡΡ‚ΡŒ ΠΌΠΈΠ½ΡƒΡ‚), скрипт выполняСт ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ STARTCMD. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС ΠΎΠ½ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ STOPCMD, Π½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π΄ΠΎ Π½Π΅Π΅ Π±Ρ‹Π»Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° STARTCMD. Если ΠΊΡ€Π°Ρ‚ΠΊΠΎ: Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ дСлаСшь Π·Π° ΠΊΠΎΠΌΠΏΠΎΠΌ Π΄Π΅ΡΡΡ‚ΡŒ ΠΌΠΈΠ½ΡƒΡ‚ β€” запускаСтся STARTCMD, Π² Π΄Π°Π½Π½ΠΎΠΌ случаС это ΠΊΠΎΠΌΠ°Π½Π΄Π° запуска всСх Π·Π°ΠΊΠ°Ρ‡Π΅ΠΊ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Transmission, Ссли Π½Π΅Ρ‚ β€” приостановка всСх Π·Π°ΠΊΠ°Ρ‡Π΅ΠΊ. НС любишь Transmission? НСт ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, Π²ΠΎΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ для Deluge:

ВмСсто Π²Ρ‹Π²ΠΎΠ΄ΠΎΠ²

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

Каким ΠΏΡƒΡ‚Π΅ΠΌ ΠΏΠΎΠΉΡ‚ΠΈ β€” Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ Ρ‚Π΅Π±Π΅. Π’ΡΡ‚Π°Π½Π΅ΡˆΡŒ Π»ΠΈ Ρ‚Ρ‹ Π½Π° Ρ‚Π΅ΠΌΠ½ΡƒΡŽ сторону ΠΈΠ»ΠΈ Π²Ρ‹Π±Π΅Ρ€Π΅ΡˆΡŒ ΠΏΡƒΡ‚ΡŒ дТСдая?

Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash. Evgenij Zobnin 1. Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash Ρ„ΠΎΡ‚ΠΎ. Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash-Evgenij Zobnin 1. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Evgenij Zobnin 1. Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Ρ‚Π΅Ρ… ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‚ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΠΊΠΎΠΌ с языком сцСнариСв Bash. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Bash скриптов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌΠΈ Π² вашСй повсСднСвной Ρ€Π°Π±ΠΎΡ‚Π΅.

Π•Π²Π³Π΅Π½ΠΈΠΉ Π—ΠΎΠ±Π½ΠΈΠ½

Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ Ρ€ΡƒΠ±Ρ€ΠΈΠΊΠΈ X-Mobile. По ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΡ‚Π΅Π»ΡŒΡΡ‚Π²Ρƒ сисадмин. Π‘ΠΎΠ»ΡŒΡˆΠΎΠΉ Ρ„Π°Π½Π°Ρ‚ Linux, Plan 9, Π³Π°Π΄ΠΆΠ΅Ρ‚ΠΎΠ² ΠΈ Π΄Ρ€Π΅Π²Π½ΠΈΡ… Π²ΠΈΠ΄Π΅ΠΎΠΈΠ³Ρ€.

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

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

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

Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash. image loader. Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash Ρ„ΠΎΡ‚ΠΎ. Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Ρ‚Π΅Ρ… ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‚ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΠΊΠΎΠΌ с языком сцСнариСв Bash. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Bash скриптов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌΠΈ Π² вашСй повсСднСвной Ρ€Π°Π±ΠΎΡ‚Π΅.

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

Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash. image loader. Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash Ρ„ΠΎΡ‚ΠΎ. Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Ρ‚Π΅Ρ… ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‚ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΠΊΠΎΠΌ с языком сцСнариСв Bash. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Bash скриптов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌΠΈ Π² вашСй повсСднСвной Ρ€Π°Π±ΠΎΡ‚Π΅.

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

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

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

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

Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash. image loader. Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash Ρ„ΠΎΡ‚ΠΎ. Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Ρ‚Π΅Ρ… ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‚ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΠΊΠΎΠΌ с языком сцСнариСв Bash. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Bash скриптов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌΠΈ Π² вашСй повсСднСвной Ρ€Π°Π±ΠΎΡ‚Π΅.

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

Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash. image loader. Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash Ρ„ΠΎΡ‚ΠΎ. Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Ρ‚Π΅Ρ… ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‚ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΠΊΠΎΠΌ с языком сцСнариСв Bash. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Bash скриптов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌΠΈ Π² вашСй повсСднСвной Ρ€Π°Π±ΠΎΡ‚Π΅.

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

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

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

Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash. image loader. Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash Ρ„ΠΎΡ‚ΠΎ. Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Ρ‚Π΅Ρ… ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‚ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΠΊΠΎΠΌ с языком сцСнариСв Bash. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Bash скриптов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌΠΈ Π² вашСй повсСднСвной Ρ€Π°Π±ΠΎΡ‚Π΅.

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

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

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

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

Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash. image loader. Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash Ρ„ΠΎΡ‚ΠΎ. Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Ρ‚Π΅Ρ… ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‚ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΠΊΠΎΠΌ с языком сцСнариСв Bash. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Bash скриптов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌΠΈ Π² вашСй повсСднСвной Ρ€Π°Π±ΠΎΡ‚Π΅.

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

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

Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash. image loader. Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash Ρ„ΠΎΡ‚ΠΎ. Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Ρ‚Π΅Ρ… ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‚ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΠΊΠΎΠΌ с языком сцСнариСв Bash. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Bash скриптов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌΠΈ Π² вашСй повсСднСвной Ρ€Π°Π±ΠΎΡ‚Π΅.

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

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

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

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

Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash. image loader. Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash Ρ„ΠΎΡ‚ΠΎ. Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Ρ‚Π΅Ρ… ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‚ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΠΊΠΎΠΌ с языком сцСнариСв Bash. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Bash скриптов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌΠΈ Π² вашСй повсСднСвной Ρ€Π°Π±ΠΎΡ‚Π΅.

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

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

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

Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash. image loader. Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash Ρ„ΠΎΡ‚ΠΎ. Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Ρ‚Π΅Ρ… ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‚ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΠΊΠΎΠΌ с языком сцСнариСв Bash. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Bash скриптов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌΠΈ Π² вашСй повсСднСвной Ρ€Π°Π±ΠΎΡ‚Π΅.

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

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

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

Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash. image loader. Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash Ρ„ΠΎΡ‚ΠΎ. Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Ρ‚Π΅Ρ… ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‚ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΠΊΠΎΠΌ с языком сцСнариСв Bash. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Bash скриптов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌΠΈ Π² вашСй повсСднСвной Ρ€Π°Π±ΠΎΡ‚Π΅.

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

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

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

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

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

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

Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash. image loader. Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash Ρ„ΠΎΡ‚ΠΎ. Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Ρ‚Π΅Ρ… ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‚ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΠΊΠΎΠΌ с языком сцСнариСв Bash. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Bash скриптов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌΠΈ Π² вашСй повсСднСвной Ρ€Π°Π±ΠΎΡ‚Π΅.

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

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

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

Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash. image loader. Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash Ρ„ΠΎΡ‚ΠΎ. Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Ρ‚Π΅Ρ… ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‚ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΠΊΠΎΠΌ с языком сцСнариСв Bash. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Bash скриптов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌΠΈ Π² вашСй повсСднСвной Ρ€Π°Π±ΠΎΡ‚Π΅.

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

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

Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash. image loader. Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash Ρ„ΠΎΡ‚ΠΎ. Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Ρ‚Π΅Ρ… ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‚ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΠΊΠΎΠΌ с языком сцСнариСв Bash. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Bash скриптов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌΠΈ Π² вашСй повсСднСвной Ρ€Π°Π±ΠΎΡ‚Π΅.

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

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

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

Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash. image loader. Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash Ρ„ΠΎΡ‚ΠΎ. Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Ρ‚Π΅Ρ… ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‚ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΠΊΠΎΠΌ с языком сцСнариСв Bash. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Bash скриптов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌΠΈ Π² вашСй повсСднСвной Ρ€Π°Π±ΠΎΡ‚Π΅.

Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash. image loader. Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash Ρ„ΠΎΡ‚ΠΎ. Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Ρ‚Π΅Ρ… ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‚ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΠΊΠΎΠΌ с языком сцСнариСв Bash. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Bash скриптов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌΠΈ Π² вашСй повсСднСвной Ρ€Π°Π±ΠΎΡ‚Π΅.

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

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

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

Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash. image loader. Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash Ρ„ΠΎΡ‚ΠΎ. Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Ρ‚Π΅Ρ… ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‚ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΠΊΠΎΠΌ с языком сцСнариСв Bash. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Bash скриптов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌΠΈ Π² вашСй повсСднСвной Ρ€Π°Π±ΠΎΡ‚Π΅.

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

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

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

Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash. image loader. Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash Ρ„ΠΎΡ‚ΠΎ. Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Ρ‚Π΅Ρ… ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‚ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΠΊΠΎΠΌ с языком сцСнариСв Bash. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Bash скриптов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌΠΈ Π² вашСй повсСднСвной Ρ€Π°Π±ΠΎΡ‚Π΅.

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

Π˜Ρ‚ΠΎΠ³ΠΈ

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

Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash. image loader. Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash Ρ„ΠΎΡ‚ΠΎ. Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π½ΡƒΠΆΠ½Ρ‹Π΅ скрипты Π½Π° bash. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Ρ‚Π΅Ρ… ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‚ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΠΊΠΎΠΌ с языком сцСнариСв Bash. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Bash скриптов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌΠΈ Π² вашСй повсСднСвной Ρ€Π°Π±ΠΎΡ‚Π΅.

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

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

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

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