Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ «Командная строка LinuxΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 85

Автор Шоттс Уильям

[[email protected] ~]$ mkdir bin

[[email protected] ~]$ mv hello_world bin

[[email protected] ~]$ hello_world

Hello World!

Если ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ отсутствуСт Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ PATH, Π΅Π³ΠΎ Π»Π΅Π³ΠΊΠΎ Ρ‚ΡƒΠ΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ, Π²ΠΊΠ»ΡŽΡ‡ΠΈΠ² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ строку Π² Ρ„Π°ΠΉΠ» .bashrc:

export PATH=~/bin:"$PATH"

Π­Ρ‚ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ сСансС Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΠΎΠΌ. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ измСнСния Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ сСансС, Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΡƒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» .bashrc, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‚Π°ΠΊ:

[[email protected] ~]$ . .bashrc

Команда Β«Ρ‚ΠΎΡ‡ΠΊΠ°Β» (.) являСтся синонимом source, встроСнной ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, которая Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Π΅Π³ΠΎ ΠΊΠ°ΠΊ Π²Π²ΠΎΠ΄ с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹.

ΠŸΠ Π˜ΠœΠ•Π§ΠΠΠ˜Π•

Ubuntu автоматичСски добавляСт ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ~/bin Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ PATH, Ссли ΠΎΠ½ сущСствуСт Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ выполнСния Ρ„Π°ΠΉΠ»Π° .bashrc. Π’ΠΎ Π΅ΡΡ‚ΡŒ Ссли Π² систСмС Ubuntu ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ~/bin ΠΈ Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹ΠΉΡ‚ΠΈ ΠΈ Π²ΠΎΠΉΡ‚ΠΈ Π² систСму, ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Ρ€Π΅ΡˆΠΈΡ‚ΡΡ автоматичСски.

Π’Ρ‹Π±ΠΎΡ€ мСстополоТСния для сцСнариСв

ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ ~/bin Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для сцСнария, Ссли этот сцСнарий ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ использования. Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ доступны всСм ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ Π² систСмС, Π»ΡƒΡ‡ΡˆΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ Π² Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎΠΌ мСстополоТСнии β€” Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ /usr/local/bin. Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΈ, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ для использования систСмным администратором, часто ΠΏΠΎΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ /usr/local/sbin. Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС, созданноС Π² локальной систСмС, Π±ΡƒΠ΄ΡŒ Ρ‚ΠΎ сцСнарии ΠΈΠ»ΠΈ скомпилированныС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, слСдуСт ΠΏΠΎΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ Π² ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΡŽ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² /usr/local, Π° Π½Π΅ /bin ΠΈΠ»ΠΈ /usr/bin. ПослСдниС Π΄Π²Π° ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°, ΠΊΠ°ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ стандартом ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы Linux (Linux Filesystem Hierarchy Standard), ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Ρ„Π°ΠΉΠ»ΠΎΠ², поставляСмых создатСлями дистрибутива Linux.

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ хитрости ΠΏΠΎ ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΡŽ

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

Π”Π»ΠΈΠ½Π½Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²

МногиС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΌΡ‹ ΡƒΠΆΠ΅ Π·Π½Π°ΠΊΠΎΠΌΡ‹, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ с ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΌΠΈ ΠΈ Π΄Π»ΠΈΠ½Π½Ρ‹ΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ. НапримСр, ΠΊΠΎΠΌΠ°Π½Π΄Π° ls ΠΈΠΌΠ΅Π΅Ρ‚ мноТСство ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚ΡŒ Π² ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠΉ ΠΈ Π² Π΄Π»ΠΈΠ½Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅. НапримСр:

[[email protected] ~]$ ls -ad

ΠΈ

[[email protected] ~]$ ls --all --directory

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

ΠžΡ‚ΡΡ‚ΡƒΠΏΡ‹ ΠΈ продолТСния строк

Если приходится ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π»ΠΈΠ½Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΈΡ… Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΡΡ‚ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ, распрСдСляя Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΏΠΎ нСскольким строкам. Π’ Π³Π»Π°Π²Π΅ 17 Π±Ρ‹Π» прСдставлСн ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π΄Π»ΠΈΠ½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ find:

[[email protected] ~]$ find playground \( -type f -not -perm 0600 -exec chmod 0600 '{}' ';' \) -or \( -type d -not -perm 0700 -exec chmod 0700 '{}' ';' \)

Π‘ ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ ΠΏΠΎΠ½ΡΡ‚ΡŒ эту ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΎΡ‡Π΅Π½ΡŒ слоТно. Π’ тСкстС сцСнария ΠΌΡ‹ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ Π΅Π΅ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

find playground \

Β Β Β Β Β Β Β Β \( \

Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β -type f \

Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β -not -perm 0600 \

Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β -exec chmod 0600 '{}' ';' \

Β Β Β Β Β Β Β Β \) \

Β Β Β Β Β Β Β Β -or \

Β Β Β Β Β Β Β Β \( \

Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β -type d \

Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β -not -perm 0700 \

Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β -exec chmod 0700 '{}' ';' \

Β Β Β Β Β Β Β Β \)

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

настройка vim для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ сцСнариСв

ВСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vim ΠΈΠΌΠ΅Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ, ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² настройки. НСкоторыС ΠΈΠ· Π½ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ сцСнариСв.

:syntax on Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ подсвСтку синтаксиса. Π‘ этой настройкой Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ синтаксичСскиС элСмСнты сцСнариСв Ρ€Π°Π·Π½Ρ‹ΠΌ Ρ†Π²Π΅Ρ‚ΠΎΠΌ. Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π²Ρ‹ΡΠ²Π»ΡΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΠΈΠ΄Ρ‹ ошибок. И ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ ΠΆΠ΅, выглядит ΠΎΡ‡Π΅Π½ΡŒ ΠΊΡ€ΡƒΡ‚ΠΎ. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ этой настройки Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ установлСна полная вСрсия vim, Π° Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ Ρ„Π°ΠΉΠ» Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ строку шСбанг (shebang), ΡΠΎΠΎΠ±Ρ‰Π°ΡŽΡ‰ΡƒΡŽ, Ρ‡Ρ‚ΠΎ Ρ„Π°ΠΉΠ» являСтся сцСнариСм ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ. Если с настройкой :syntax on Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ слоТности, ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ настройку :set syntax=sh.

:set hlsearch Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ подсвСтку Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² поиска. НапримСр, Ссли Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ поиск слова echo, с этой настройкой Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ всС вхоТдСния искомого слова.

:set tabstop=4 опрСдСляСт число ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ (знакомСст), Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΡ‹Ρ… символом табуляции. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΎΠ΄ΠΈΠ½ символ табуляции Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ восСмь знакомСст. ΠŸΡ€ΠΈΡΠ²ΠΎΠΈΠ² этому ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 4 (ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΡƒΡŽΡ‰ΠΈΠΌΠΈ программистами), Π²Π°ΠΌ ΠΏΡ€ΠΎΡ‰Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π΄Π»ΠΈΠ½Π½Ρ‹Π΅ строки Π½Π° экранС.

:set autoindent Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ автоматичСскоС ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅ отступов. Π­Ρ‚ΠΎΡ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ заставляСт vim Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π² Π½ΠΎΠ²ΡƒΡŽ строку отступ, ΠΊΠ°ΠΊ Π² строкС Π²Ρ‹ΡˆΠ΅. Π­Ρ‚ΠΎ ускоряСт Π²Π²ΠΎΠ΄ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π²ΠΈΠ΄ΠΎΠ² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… конструкций. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ автоматичСскоС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅, достаточно Π½Π°ΠΆΠ°Ρ‚ΡŒ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ CTRL+D.

Π­Ρ‚ΠΈ измСнСния ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ постоянными, Π΄ΠΎΠ±Π°Π²ΠΈΠ² описанныС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ (Π±Π΅Π· Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ символа двоСточия) Π² Ρ„Π°ΠΉΠ» ~/.vimrc.

Π—Π°ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π·Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅

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

25. Начало ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

Π’ этой Π³Π»Π°Π²Π΅ ΠΌΡ‹ приступаСм ΠΊ созданию ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ЦСль Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° β€” ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ возмоТности ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ для создания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈ, Ρ‡Ρ‚ΠΎ особСнно Π²Π°ΠΆΠ½ΠΎ, для создания Ρ…ΠΎΡ€ΠΎΡˆΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

Π”Π°Π»Π΅Π΅ ΠΌΡ‹ напишСм Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ². Он Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ систСмС ΠΈ Π΅Π΅ состоянии Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ HTML, благодаря Ρ‡Π΅ΠΌΡƒ Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ Π² Π²Π΅Π±-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅.

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

Π­Ρ‚Π°ΠΏ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ: ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚

ΠŸΡ€Π΅ΠΆΠ΄Π΅ всСго, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ, ΠΊΠ°ΠΊ выглядит Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ сформированного HTML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°. Он ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π²ΠΈΠ΄:

<HTML>

Β Β Β Β Β Β Β Β <HEAD>

Β Β Β Β Β Β Β Β Β Β Β Β <TITLE>Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ страницы</TITLE>

Β Β Β Β Β Β Β Β </HEAD>

Β Β Β Β Β Β Β Β <BODY>

Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Π’Π΅Π»ΠΎ страницы.

Β Β Β Β Β Β Β Β </BODY>

</HTML>

Если ввСсти этот тСкст Π² тСкстовом Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² Ρ„Π°ΠΉΠ»Π΅ с ΠΈΠΌΠ΅Π½Π΅ΠΌ foo.html, ΠΌΡ‹ смоТСм ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π΅Π³ΠΎ, ввСдя ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ адрСс URL Π² Firefox: file:///home/username/foo.html.

На ΠΏΠ΅Ρ€Π²ΠΎΠΌ этапС создадим ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, которая Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ эту Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΡƒ HTML Π² стандартный Π²Ρ‹Π²ΠΎΠ΄. ΠΠ°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‚Π°ΠΊΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΎΡ‡Π΅Π½ΡŒ просто. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΈ создайтС Ρ„Π°ΠΉΠ» с ΠΈΠΌΠ΅Π½Π΅ΠΌ ~/bin/sys_info_page: