Π§Π΅ΠΌ особСнна ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° sh ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ Ρ€Π΅Π΄ΠΊΠΎ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ

О Ρ€Π°Π·Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹Ρ… ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ°Ρ… Linux ΠΈ Unix

Π§Π΅ΠΌ особСнна ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° sh ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ Ρ€Π΅Π΄ΠΊΠΎ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Π΅ΠΌ особСнна ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° sh ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ Ρ€Π΅Π΄ΠΊΠΎ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Π΅ΠΌ особСнна ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° sh ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ Ρ€Π΅Π΄ΠΊΠΎ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Π΅ΠΌ особСнна ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° sh ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ Ρ€Π΅Π΄ΠΊΠΎ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ. Π€ΠΎΡ‚ΠΎ Π§Π΅ΠΌ особСнна ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° sh ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ Ρ€Π΅Π΄ΠΊΠΎ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽΠΠ°Π²Π΅Ρ€Π½ΡΠΊΠ° ΠΏΠΎΡ‡Ρ‚ΠΈ всС Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΠΈ Π₯Π°Π±Ρ€Π° Π·Π½Π°ΡŽΡ‚ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ sh ΠΈ bash. Π’Π°ΠΊ ΠΆΠ΅ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΈΠ· нас Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΡΠ»Ρ‹ΡˆΠ°Π»ΠΈ ΠΏΡ€ΠΎ zsh ΠΈ tcsh. Однако Π½Π° этом список ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΎΠ±ΠΎΠ»ΠΎΡ‡Π΅ΠΊ Π½Π΅ заканчиваСтся. Условно ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΈΡ… Π½Π° Ρ‚Ρ€ΠΈ Π³Ρ€ΡƒΠΏΠΏΡ‹:

НаибольшСС распространСниС ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ POSIX-совмСстимыС ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ, Π²Π΅Π΄ΡƒΡ‰ΠΈΠ΅ Ρ€ΠΎΠ΄ΠΎΡΠ»ΠΎΠ²Π½ΡƒΡŽ ΠΎΡ‚ Bourne shell (шСлл Π‘ΠΎΡ€Π½Π°), поэтому с Π½Π΅Π³ΠΎ ΠΈ Π½Π°Ρ‡Π½Π΅ΠΌ

Bourne shell ΠΈ Π΅Π³ΠΎ ΠΊΠ»ΠΎΠ½Ρ‹

Bourne shell, исполняСмый Ρ„Π°ΠΉΠ»: sh. Командная ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° названная Π² Ρ‡Π΅ΡΡ‚ΡŒ своСго создатСля Π‘Ρ‚ΠΈΠ²Π΅Π½Π° Π‘ΠΎΡ€Π½Π°. Π‘ΠΎΠ»ΡŒΡˆΠ°Ρ Ρ‡Π°ΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² Π±Ρ‹Π»Π° заимствована ΠΈΠΌ ΠΈΠ· языка Алгол 68. Π’Ρ‹ΡˆΠ»Π° Π² 7-ΠΌ ΠΈΠ·Π΄Π°Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы UNIX, Π³Π΄Π΅ Π±Ρ‹Π»Π° ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΎΠΉ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Π”ΠΎ сих ΠΏΠΎΡ€ ΠΏΠΎΠ΄Π°Π²Π»ΡΡŽΡ‰Π΅Π΅ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Unix-ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… систСм ΠΈΠΌΠ΅ΡŽΡ‚ /bin/sh β€” ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΈΠ»ΠΈ ΠΆΠ΅ΡΡ‚ΠΊΡƒΡŽ ссылку Π½Π° sh-ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΡƒΡŽ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΡƒ.

Bourne again shell, исполняСмый Ρ„Π°ΠΉΠ»: bash. НазваниС ΠΌΠΎΠΆΠ½ΠΎ пСрСвСсти, ΠΊΠ°ΠΊ Β«Π’ΠΎΠ·Ρ€ΠΎΠΆΠ΄Ρ‘Π½Π½Ρ‹ΠΉ шСл Π‘ΠΎΡ€Π½Π°Β». Π‘ΠΊΠΎΡ€Π΅Π΅ всСго самая популярная ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° Π½Π° сСгодняшний дСнь. Π”Π΅-Ρ„Π°ΠΊΡ‚ΠΎ стандарт для Linux. НС Π±ΡƒΠ΄Ρƒ Π½Π° Π½Π΅ΠΉ ΠΎΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒΡΡ, Ρ‚.ΠΊ. Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΈΡ… статСй ΠΏΡ€ΠΎ bash. НапримСр Π²ΠΎΡ‚ ΠΈ Π²ΠΎΡ‚.

Z shell, исполняСмый Ρ„Π°ΠΉΠ»: zsh. Бвободная соврСмСнная sh-совмСстимая ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ°. Π˜ΠΌΠ΅Π΅Ρ‚ ряд прСимущСств ΠΏΠ΅Ρ€Π΅Π΄ bash ΠΊΠ°ΡΠ°ΡŽΡ‰ΠΈΡ…ΡΡ Π² основном Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅. О Π½Π΅ΠΉ Π½Π° Π₯Π°Π±Ρ€Π΅ писали Ρ‚ΡƒΡ‚ ΠΈ Ρ‚ΡƒΡ‚
ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ сущСствуСт довольно ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΠΎΠ»ΠΎΡ‡Π΅ΠΊ ΠΏΠΎΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΡ… Π² эту Π³Ρ€ΡƒΠΏΠΏΡƒ: Korn shell (ksh) ΠΈ Almquist shell (ash) etc Π½ΠΎ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Π½Π° Π½ΠΈΡ… ΠΎΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒΡΡ.

C shell

C shell, исполняСмый Ρ„Π°ΠΉΠ»: csh Командная ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° разработанная Π°Π²Ρ‚ΠΎΡ€ΠΎΠΌ vi Π‘ΠΈΠ»Π»ΠΎΠΌ Π”ΠΆΠΎΠ΅ΠΌ. Π—Π° основу для скриптового языка csh Π±Ρ‹Π» взят, ΠΊΠ°ΠΊ понятно ΠΈΠ· названия, язык C. Π’.ΠΊ. Π½Π° Ρ‚ΠΎΡ‚ ΠΌΠΎΠΌΠ΅Π½Ρ‚, Π² 1978 Π³., это Π±Ρ‹Π» Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ популярный язык программирования срСди Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ BSD UNIX. Π’ настоящий ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π±ΠΎΠ»Π΅Π΅ популярна свободная рСализация csh β€” tcsh.

TENEX C Shell, исполняСмый Ρ„Π°ΠΉΠ»: tcsh. ИмСнно Π² tcsh ΠΊΠΎΠ³Π΄Π°-Ρ‚ΠΎ Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ появилось Π°Π²Ρ‚ΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅. ЯвляСтся ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΎΠΉ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² FreeBSD. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎ Π½Π΅ΠΉ ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΌΠΎΠΆΠ½ΠΎ здСсь.
Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ± наглядно ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ Π² синтаксисС ΠΏΡ€ΠΈΠ²Π΅Π΄Ρƒ нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² скриптов Π΄Π΅Π»Π°ΡŽΡ‰ΠΈΡ… ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ ΠΆΠ΅ для csh ΠΈ sh-совмСстимого ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ³ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π°.

ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π΅Π½Π½ΠΎΠ΅ Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠ΅ (ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ, Swich/case):

Π¦ΠΈΠΊΠ» Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡŽΡ‰ΠΈΠΉ 10 ΠΏΠ΅Ρ€Π²Ρ‹Ρ… стСпСнСй Π΄Π²ΠΎΠΉΠΊΠΈ:

Однако список Ρ„ΠΈΡ‡ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… свСТими вСрсиями bash, zsh ΠΈ tcsh ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆ ΠΈ Π²Ρ‹Π±ΠΎΡ€ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ ΠΏΠΎ большСй части Π΄Π΅Π»ΠΎ вкуса. Π‘ ΠΌΠ΅Π½Π΅Π΅ распространСнными ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ°ΠΌΠΈ Π΄Π΅Π»ΠΎ обстоит ΠΈΠ½Π°Ρ‡Π΅. Π’ΡƒΡ‚ различия сущСствСннСС.

ΠšΠΎΠΌΠ°Π½Π΄Π½Ρ‹Π΅ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ, Π±Π°Π·ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ΡΡ Π½Π° популярных языках программирования.

Perl Shell, исполняСмый Ρ„Π°ΠΉΠ»: psh. ΠžΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° ΡΠΎΡ‡Π΅Ρ‚Π°ΡŽΡ‰Π°Ρ Π² сСбС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²Ρ‹ΡˆΠ΅ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚Ρ‹Ρ… ΠΎΠ±ΠΎΠ»ΠΎΡ‡Π΅ΠΊ ΠΈ ΠΌΠΎΡ‰ΡŒ языка Perl. Π’.ΠΊ. psh написана Π½Π° perl ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ Π΄Π°ΠΆΠ΅ Π½Π° Windows. НСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² использования psh:

Scsh, исполняСмый Ρ„Π°ΠΉΠ» scsh. ΠšΠΎΠΌΠ°Π½Π΄Π½Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΉ Π² качСствС скриптового языка Scheme 48. НС ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ стандартныС для Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠ±ΠΎΠ»ΠΎΡ‡Π΅ΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (история ΠΊΠΎΠΌΠ°Π½Π΄, Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ тСкста Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС, Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡƒΡ‚Π΅ΠΉ/ΠΊΠΎΠΌΠ°Π½Π΄). РСкомСндуСтся написания скриптов, Π½ΠΎ Π½Π΅ для ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹. ΠœΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠΉΡ‚ΠΈΡΡŒ ΠΏΠΎ вкусу Π»ΡŽΠ±ΠΈΡ‚Π΅Π»ΡΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ программирования. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ скрипта, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ ΠΈΠΌΠ΅Π½Π° всСх исполняСмых Ρ„Π°ΠΉΠ»ΠΎΠ² находящихся Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°Ρ… ΠΈΠ· ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ окруТСния PATH

ΠžΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅

Sleep Dummy Shell, исполняСмый Ρ„Π°ΠΉΠ»: sleepshell. Π‘Ρ‚Ρ€ΠΎΠ³ΠΎ говоря ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹ΠΌ процСссором sleepshell Π½Π°Π·Π²Π°Ρ‚ΡŒ нСльзя, Ρ‚.ΠΊ. ΠΎΠ½ Π½Π΅ ΡƒΠΌΠ΅Π΅Ρ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. И Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ ΡƒΠΌΠ΅Π΅Ρ‚ Π½ΠΈΡ‡Π΅Π³ΠΎ, ΠΊΡ€ΠΎΠΌΠ΅ ΠΊΠ°ΠΊ пСриодичСски Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π² стандартный Π²Ρ‹Π²ΠΎΠ΄ Π·Π²Ρ‘Π·Π΄ΠΎΡ‡ΠΊΠΈ «*». Однако ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΠ½Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Π² качСствС ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ ΠΈ Π²ΠΎΡ‚ для Ρ‡Π΅Π³ΠΎ: Допустим ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΡƒ-Ρ‚ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚ΠΎΠ½Π½Π΅Π»ΠΈ ssh Ρ‡Π΅Ρ€Π΅Π· наш сСрвСр ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Linux ΠΈΠ»ΠΈ Unix. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΏΡ€ΠΎ ssh-Ρ‚ΡƒΠ½Π½Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‡ΠΈΡ‚Π°Π΅ΠΌ Ρ‚ΡƒΡ‚. Но Π½Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΈ этом, Ρ‡Ρ‚ΠΎ этот ΠΊΡ‚ΠΎ-Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» доступ ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС нашСго сСрвСра. Для Ρ‚Π°ΠΊΠΎΠ³ΠΎ случая ΠΈ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° sleepshell. Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π½Π° сСрвСрС Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚ Π² качСствС шСла для Π½Π΅Π³ΠΎ устанавливаСм sleepshell. Π’Π»Π°Π΄Π΅Π»Π΅Ρ† Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π° смоТСт ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ΠΈ ΠΏΡ€ΠΎΠ±Ρ€Π°ΡΡ‹Π²Π°Ρ‚ΡŒ ΠΏΠΎΡ€Ρ‚Ρ‹, Π½ΠΎ Π½Π΅ смоТСт Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.

На этом всё. НадСюсь, Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ интСрСсно. Π‘ΡƒΠ΄Ρƒ Ρ€Π°Π΄ Π»ΡŽΠ±Ρ‹ΠΌ замСчаниям ΠΈ совСтам ΠΏΠΎ тСксту ΡΡ‚Π°Ρ‚ΡŒΠΈ.

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

РусскиС Π‘Π»ΠΎΠ³ΠΈ

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ (bash)

1. Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ знания

(1) Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ°?

(3) Как Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ (.sh)?

(4) КакиС ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρ‹ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² Linux?

2. Начало Ρ€Π°Π±ΠΎΡ‚Ρ‹

(1) ΠŸΠ΅Ρ€Π²Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°

Π‘ΠΈΠΌΠ²ΠΎΠ» # Π² ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ. ΠŸΠ΅Ρ€Π²Π°Ρ строка ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ довольно особСнная, ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΠ½Π° начинаСтся с #!, Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ. Π’ Linux, ΠΏΠΎΠΌΠΈΠΌΠΎ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ bash, сущСствуСт ΠΌΠ½ΠΎΠ³ΠΎ вСрсий ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ zsh, dash ΠΈ Ρ‚. Π”. Но ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° bash ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π½Π°ΠΌΠΈ.

(2) ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΠ°ΠΏΠΊΠΈ ΠΈ Ρ„Π°ΠΉΠ»Ρ‹

Π’Ρ€ΠΈ, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈ ссылки

(1) ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈ инициализация ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

ΠžΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° являСтся слабо Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ языком (ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² языкС строго Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹, Ссли ΠΎΠ½ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ явныС Ρ‚ΠΈΠΏΡ‹; ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Ρ‡Π΅Ρ‚ΠΊΠΎ Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹, ΡΠ²Π»ΡΡŽΡ‚ΡΡ слабо Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ языками), Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ C. ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π½ΠΈ Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²ΠΊΠΈ Ρ‚ΠΈΠΏΠΎΠ², Π½ΠΈ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ Ρ‚ΠΈΠΏΠΎΠ².

(2) ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ = для Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ назначСния. НазначСниС Π² ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ΅ = Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² с ΠΎΠ±Π΅ΠΈΡ… сторон 。

(3) НазначСниС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ пСрСмСнная ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π°, ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° снова. НовоС Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡˆΠ΅Ρ‚ староС Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. ΠžΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΏΡ€Π΅Π΄Π½Π°ΠΌΠ΅Ρ€Π΅Π½Π½Ρ‹Ρ… Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΈ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Π’ любом случаС, каТдая пСрСмСнная являСтся символом, Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ этого символа являСтся послСдним Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΌ Π΅ΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°ΠΌΠΈ, ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΌΠΈ ΠΈ Π΄Π²ΠΎΠΉΠ½Ρ‹ΠΌΠΈ Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°Ρ…

(1) Π‘Ρ‚Ρ€ΠΎΠΊΠ°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ Π² ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ΅, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π±Π΅Π· Π΄Π²ΠΎΠΉΠ½Ρ‹Ρ… ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊ. И это Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹, Π½ΠΎ нСдостаток Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ «ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ escape-символы.

(2) ΠžΠ΄ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для прСдставлСния строк Π² ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ΅, которая Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ, ΠΈ ΡΠΊΡ€Π°Π½ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ символы Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π²Π΅Π΄Π΅Π½Ρ‹

(3) Π’ ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°Ρ…: полная Π·Π°ΠΌΠ΅Π½Π° Π±ΡƒΠΊΠ² (Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π² сСбя ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ)

(4) Π² Π΄Π²ΠΎΠΉΠ½Ρ‹Ρ… ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°Ρ…:

$ Plus имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ

ΠžΠ±Ρ€Π°Ρ‚Π½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Π½Π° подстановку ΠΊΠΎΠΌΠ°Π½Π΄

\\ прСдставляСт собой Π±ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ \

Π—Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Π²Ρ‹ΡˆΠ΅ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ, \ ΠΏΠ΅Ρ€Π΅Π΄ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ символами Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ значСния ΠΈ прСдставляСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π±ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

Π’-Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚Ρ‹Ρ…, Π²Ρ‹Π·ΠΎΠ²ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ linux Π² ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ΅

(1) ΠŸΡ€ΡΠΌΠΎΠ΅ исполнСниС

(2) Π’Π»ΠΎΠΆΠΈΡ‚ΡŒ Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ для исполнСния. Иногда ΠΌΡ‹ Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ linux Π² ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ (Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅) этой ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. Π’ настоящСС врСмя цСлСсообразно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Ρƒ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹Ρ… клавиш (ΠΊΠ»Π°Π²ΠΈΡˆΡƒ ΠΏΠΎΠ΄ клавишСй ESC Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π΅ ΠΈ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ

Π½Π° клавишС) для Π²Ρ‹Π·ΠΎΠ²Π° Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ.

ΠŸΡΡ‚ΡŒ, Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Ρ„ΠΈΠ»ΠΈΠ°Π»

(1) Ссли структура Π²Π΅Ρ‚Π²ΠΈ

Π”Π°Π²Π°ΠΉΡ‚Π΅ сначала посмотрим, ΠΊΠ°ΠΊ руководство MAN Π²Π²ΠΎΠ΄ΠΈΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ if:

Π§Π΅ΠΌ особСнна ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° sh ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ Ρ€Π΅Π΄ΠΊΠΎ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Π΅ΠΌ особСнна ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° sh ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ Ρ€Π΅Π΄ΠΊΠΎ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Π΅ΠΌ особСнна ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° sh ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ Ρ€Π΅Π΄ΠΊΠΎ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Π΅ΠΌ особСнна ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° sh ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ Ρ€Π΅Π΄ΠΊΠΎ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ. Π€ΠΎΡ‚ΠΎ Π§Π΅ΠΌ особСнна ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° sh ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ Ρ€Π΅Π΄ΠΊΠΎ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ

Π§Ρ‚ΠΎ касаСтся ΠΊΠΎΠ΄Π° состояния Π²Ρ‹Ρ…ΠΎΠ΄Π°, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ состояния для Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ‹Ρ…ΠΎΠ΄Π° (Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅) Ρ€Π°Π²Π΅Π½ 0, Π° ΠΊΠΎΠ΄ состояния для Π°Π²Π°Ρ€ΠΈΠΉΠ½ΠΎΠ³ΠΎ Π²Ρ‹Ρ…ΠΎΠ΄Π° Π½Π΅ Ρ€Π°Π²Π΅Π½ 0 (ΠΈΡ… ΠΌΠ½ΠΎΠ³ΠΎ).

Π‘Π΅ΠΌΠ°Π½Ρ‚ΠΈΠΊΠ° Π²Ρ‹ΡˆΠ΅ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°: Если ΠΊΠΎΠΌΠ°Π½Π΄Π° after if выполняСтся Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ (ΠΊΠΎΠ΄ состояния 0), Ρ‚ΠΎ выполняСтся ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ after then. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС это Π½Π΅ выполняСтся. fi прСдставляСт ΠΊΠΎΠ½Π΅Ρ† ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° if.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π°ΠΊΠΎΠ½Π΅Ρ† Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ ОК

Π’ΠΎΠ³Π΄Π° Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ, Ссли я просто Ρ…ΠΎΡ‡Ρƒ ΡΡƒΠ΄ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊ язык C Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π§Ρ‚ΠΎ Ссли это установлСно? НС Π²ΠΎΠ»Π½ΡƒΠΉΡ‚Π΅ΡΡŒ, Π΅ΡΡ‚ΡŒ Π΄Π²Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ:

(1) Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ‚Π΅ΡΡ‚ΠΎΠ²ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ

test EXPRESSION, Π·Π° test слСдуСт Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, Ссли Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ истинно, ΠΎΠ½ΠΎ Π²Ρ‹ΠΉΠ΄Π΅Ρ‚ ΠΈ Π²Π΅Ρ€Π½Π΅Ρ‚ ΠΊΠΎΠ΄ состояния Π²Ρ‹Ρ…ΠΎΠ΄Π° 0, Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС Π²Π΅Ρ€Π½Π΅Ρ‚ Π½Π΅Π½ΡƒΠ»Π΅Π²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ test, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ суТдСниС ΠΎ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ. Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Команда тСстирования ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡƒΠ΄ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Ρ€ΠΈ Ρ‚ΠΈΠΏΠ° условий:

ЧислСнноС сравнСниС

Π§Π΅ΠΌ особСнна ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° sh ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ Ρ€Π΅Π΄ΠΊΠΎ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Π΅ΠΌ особСнна ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° sh ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ Ρ€Π΅Π΄ΠΊΠΎ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Π΅ΠΌ особСнна ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° sh ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ Ρ€Π΅Π΄ΠΊΠΎ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Π΅ΠΌ особСнна ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° sh ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ Ρ€Π΅Π΄ΠΊΠΎ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ. Π€ΠΎΡ‚ΠΎ Π§Π΅ΠΌ особСнна ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° sh ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ Ρ€Π΅Π΄ΠΊΠΎ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ

(-Eq), большС Ρ‡Π΅ΠΌ (-gt), мСньшС Ρ‡Π΅ΠΌ (-lt), большС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎ (-ge), мСньшС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎ (-le)

num1 ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: для этого тСста Π΅ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Π·Π½Π°ΠΊ равСнства

Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ²

(2) Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π΄Π²ΠΎΠΉΠ½Ρ‹Π΅ ΠΈ Π΄Π²ΠΎΠΉΠ½Ρ‹Π΅ скобки

Π­Ρ‚ΠΎ эквивалСнтно соСдинСнию Π΄Π²ΡƒΡ… Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π² условном Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ Π·Π° условиСм if Π² языкС C с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ логичСского И, логичСского Π˜Π›Π˜, ΠΈ зависит ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, установлСн Π»ΠΈ ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ if, зависит ΠΎΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² логичСской ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π΄Π²ΡƒΡ… Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ.

(2) структура корпуса

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ case, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ с шаблоном. Если совпадСниС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ. Π€ΠΎΡ€ΠΌΠ°Ρ‚ заявлСния случая ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ:

ΠšΠΎΡ€ΠΏΡƒΡ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π²Ρ‹ΡˆΠ΅. Π—Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ слово in, ΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ шаблон Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ скобкой. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ»ΠΈ константой. ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ совпадСниС ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚, Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ соотвСтствуСт ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ ΡˆΠ°Π±Π»ΠΎΠ½Ρƒ, всС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ‚Π΅ΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π΄ΠΎ ;;.

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ шаблон, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ соотвСтствуСт. Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚, Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½Ρ‹ послС выполнСния ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΊΠΎΠΌΠ°Π½Π΄ сопоставлСния с шаблоном. Если Π½Π΅Ρ‚ подходящСго шаблона, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π·Π²Π΅Π·Π΄ΠΎΡ‡ΠΊΡƒ *, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π° Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.

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

Как ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΡƒ (shell) Π² Linux

Π§Π΅ΠΌ особСнна ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° sh ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ Ρ€Π΅Π΄ΠΊΠΎ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Π΅ΠΌ особСнна ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° sh ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ Ρ€Π΅Π΄ΠΊΠΎ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Π΅ΠΌ особСнна ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° sh ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ Ρ€Π΅Π΄ΠΊΠΎ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Π΅ΠΌ особСнна ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° sh ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ Ρ€Π΅Π΄ΠΊΠΎ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ. Π€ΠΎΡ‚ΠΎ Π§Π΅ΠΌ особСнна ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° sh ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ Ρ€Π΅Π΄ΠΊΠΎ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ командная ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ°

Командная ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Π² Linux β€” это ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, которая Π² тСкстовой срСдС выступаСт Π² качСствС интСрфСйса ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой. Она ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Π²Π²ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ с Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Когда Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅, ΠΈΠΌΠ΅Π½Π½ΠΎ командная ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Π²Π²ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π²Π°ΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ Linux ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ написаниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° языкС ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ.

ΠžΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ Linux

Одна ΠΈΠ· самых популярных ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹Ρ… ΠΎΠ±ΠΎΠ»ΠΎΡ‡Π΅ΠΊ β€” это ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° Bash (Bourne Again Shell). Она ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ дистрибутивов Linux.

Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ Linux. МоТно ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ:

ΠžΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‡Π΅Π½ΡŒ сильно ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π°. Они ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ, синтаксисом ΠΊΠΎΠΌΠ°Π½Π΄, строкой привСтствия, Π΄Ρ€ΡƒΠΆΠ΅Π»ΡŽΠ±Π½ΠΎΡΡ‚ΡŒΡŽ ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ ΠΈ возмоТностями.

Как ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄ΡƒΡŽ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΡƒ

Π•ΡΡ‚ΡŒ нСсколько способов ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΡƒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡƒΡŽ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² вашСй систСмС Linux. Рассмотрим нСсколько ΠΈΠ· Π½ΠΈΡ…, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π² Ρ€Π°Π·Π½Ρ‹Ρ… систСмах (ΠΈ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ°Ρ…) ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ способы ΠΌΠΎΠ³ΡƒΡ‚ Π½Π΅ ΡΡ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.

Π’Π°ΠΊΠΆΠ΅ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρƒ Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ систСмы ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ.

Бпособ 1

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ окруТСния SHELL Ρ…Ρ€Π°Π½ΠΈΡ‚ ΠΏΡƒΡ‚ΡŒ Π΄ΠΎ исполняСмого Ρ„Π°ΠΉΠ»Π° ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ. Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

Из Π²Ρ‹Π²ΠΎΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° bash.

Бпособ 2

Бпособ 3

ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ процСсс ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ps.

Π§Π΅ΠΌ особСнна ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° sh ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ Ρ€Π΅Π΄ΠΊΠΎ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Π΅ΠΌ особСнна ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° sh ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ Ρ€Π΅Π΄ΠΊΠΎ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Π΅ΠΌ особСнна ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° sh ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ Ρ€Π΅Π΄ΠΊΠΎ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Π΅ΠΌ особСнна ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° sh ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ Ρ€Π΅Π΄ΠΊΠΎ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ. Π€ΠΎΡ‚ΠΎ Π§Π΅ΠΌ особСнна ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° sh ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ Ρ€Π΅Π΄ΠΊΠΎ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ

Как ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ список ΠΎΠ±ΠΎΠ»ΠΎΡ‡Π΅ΠΊ, доступных Π² систСмС

Бписок ΠΎΠ±ΠΎΠ»ΠΎΡ‡Π΅ΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ установлСны ΠΈ доступны Π² систСмС Linux, хранится Π² Ρ„Π°ΠΉΠ»Π΅ /etc/shells

Π§Π΅ΠΌ особСнна ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° sh ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ Ρ€Π΅Π΄ΠΊΠΎ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Π΅ΠΌ особСнна ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° sh ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ Ρ€Π΅Π΄ΠΊΠΎ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Π΅ΠΌ особСнна ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° sh ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ Ρ€Π΅Π΄ΠΊΠΎ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Π΅ΠΌ особСнна ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° sh ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ Ρ€Π΅Π΄ΠΊΠΎ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ. Π€ΠΎΡ‚ΠΎ Π§Π΅ΠΌ особСнна ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° sh ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ Ρ€Π΅Π΄ΠΊΠΎ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ

Как Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΡƒ

Π§Ρ‚ΠΎΠ±Ρ‹ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΡƒ, достаточно Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ Π΅Π΅ ΠΈΠΌΠ΅Π½ΠΈ. ПослС этого Π²Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ΡΡŒ Π½Π° Π½ΠΎΠ²ΡƒΡŽ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΡƒ.

НапримСр, ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΠΌΡΡ Π½Π° ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΡƒ sh. ВыполняСм ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

Π§Π΅ΠΌ особСнна ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° sh ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ Ρ€Π΅Π΄ΠΊΠΎ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Π΅ΠΌ особСнна ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° sh ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ Ρ€Π΅Π΄ΠΊΠΎ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Π΅ΠΌ особСнна ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° sh ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ Ρ€Π΅Π΄ΠΊΠΎ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Π΅ΠΌ особСнна ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° sh ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ Ρ€Π΅Π΄ΠΊΠΎ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ. Π€ΠΎΡ‚ΠΎ Π§Π΅ΠΌ особСнна ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° sh ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ Ρ€Π΅Π΄ΠΊΠΎ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ

Как ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΡƒ

Для измСнСния ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ Π½Π° постоянной основС слуТит ΠΊΠΎΠΌΠ°Π½Π΄Π° chsh (ΠΎΡ‚ слов change shell).

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

Π’ качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠΏΡƒΡ‚ΡŒ_Π½ΠΎΠ²ΠΎΠΉ_ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΡƒΡ‚ΡŒ Π΄ΠΎ исполняСмого Ρ„Π°ΠΉΠ»Π° ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ Π² Ρ„Π°ΠΉΠ»Π΅ /etc/shells (см. Π²Ρ‹ΡˆΠ΅).

НапримСр, ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΡƒ Π½Π° sh. Для этого выполняСм ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ (ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ввСсти ΠΏΠ°Ρ€ΠΎΠ»ΡŒ):

ПослС этого Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΉΡ‚ΠΈ ΠΈ снова Π²ΠΎΠΉΡ‚ΠΈ Π² систСму.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΡƒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡƒΡŽ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, для Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Ρ‚ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ chsh Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ имя этого ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ:

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

ΠœΡ‹ рассмотрСли, ΠΊΠ°ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΡƒ Linux, ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ список доступных ΠΎΠ±ΠΎΠ»ΠΎΡ‡Π΅ΠΊ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΡƒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡƒΡŽ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ΅ (доступной Π² систСмС) ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Man-страницами. НапримСр:

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ срСдствами систСмы (ΠΈΠ· Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π²). НапримСр, для установки ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ fish Π² Ubuntu Linux, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ

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

ΠžΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ( shell ) Π² Linux.

— Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки.

— Доступ ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌ ΠΈΡ… выполнСния.

— ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ стандартного Π²Π²ΠΎΠ΄Π° ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π°.

— РСализация ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ языка программирования ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ.

Для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм сСмСйства Unix / Linux Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ использованиС Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΎΠ±ΠΎΠ»ΠΎΡ‡Π΅ΠΊ, ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‰ΠΈΡ…ΡΡ свойствами ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ взаимодСйствия с систСмой. НаиболСС распространСнными ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ°ΠΌΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ

bash ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° Bourne Again (GNU Bourne-Again SHell). ΠŸΠΎΠΆΠ°Π»ΡƒΠΉ, Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространСнная Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚, ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° Π² срСдС ОБ сСмСйства Linux.

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

user1:x:508:511::/home/user1:/bin/sh
interbase:x:510:511::/home/interbase:/bin/csh
apb:x:511:513:apb:/home/apb:/bin/bash

— посрСдством ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ exit Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ

Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки.

ΠŸΡ€ΠΈ использовании Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΎΠΏΡ†ΠΈΠΉ, ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ. НапримСр, Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Ρ‹ :

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· этих Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠΌΠ΅Π΅Ρ‚ свои особСнности примСнСния, поэтому слСдуСт Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Π²Π°ΡˆΠΈΡ… Ρ†Π΅Π»Π΅ΠΉ. НапримСр, Ссли Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³

/bin Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ PATH для всСх ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, помСститС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ Π² ΠΎΠ΄ΠΈΠ½ ΠΈΠ· систСмных Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ окруТСния (/etc/profile ΠΈΠ»ΠΈ /etc/bash.bashrc):

# Если ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ID ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π±ΠΎΠ»Π΅Π΅ ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎ 1000, ΠΈ сущСствуСт ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³

#Π½Π΅ Π±Ρ‹Π» Ρ€Π°Π½Π΅Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ PATH,

Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах Linux, ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΌΠ΅Π½Π΅Π΅ 1000 ΠΈΠ»ΠΈ ΠΌΠ΅Π½Π΅Π΅ 500 ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для слуТСбных ΡƒΡ‡Π΅Ρ‚Π½Ρ‹Ρ… записСй. Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, пСрСмСнная окруТСния Π±ΡƒΠ΄Π΅Ρ‚ установлСна для всСх Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ систСмы с ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ 1000 ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅.

Если ΠΆΠ΅ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ срСду окруТСния для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ модификация содСрТимого срСды окруТСния ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ:

НапримСр, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

/.profile ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ строку:

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ окруТСния для графичСских ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ содСрТимоС Ρ„Π°ΠΉΠ»ΠΎΠ² настройки графичСской срСды ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ

Π“ΠΎΡ€Π°Π·Π΄ΠΎ Ρ‡Π°Ρ‰Π΅ значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… окруТСния Π·Π°Π΄Π°ΡŽΡ‚ΡΡ для Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ сСанса ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. НапримСр, для добавлСния ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°

/bin Π² ΠΏΡƒΡ‚ΠΈ поиска исполняСмых Ρ„Π°ΠΉΠ»ΠΎΠ²:

НовоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ PATH Π±ΡƒΠ΄Π΅Ρ‚ Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ сСанса ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

ΠŸΡ€ΠΈ запускС bash Π±Π΅Π· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки, ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° запускаСтся Π² ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅, отобраТая Π½Π° экранС ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΠ΅ ΠΊ Π²Π²ΠΎΠ΄Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄. Π˜Π½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Π°Ρ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ ΠΏΠΈΡˆΠ΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ Π² этот ΠΆΠ΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π», стандартным устройством Π²Π²ΠΎΠ΄Π° являСтся ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π°, Π° стандартным устройством Π²Ρ‹Π²ΠΎΠ΄Π° – дисплСй. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Π²ΠΎΠ΄ΠΈΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π΅, Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΈΡ… выполнСния отобраТаСтся Π½Π° дисплСС.

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

Π§Π΅ΠΌ особСнна ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° sh ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ Ρ€Π΅Π΄ΠΊΠΎ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ

Bash β€” это командная ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° для UNIX-ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм (UNIX, GNU/Linux, MacOS). Она Π΄Π°Π΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ систСму ΠΊΠΎΠΌΠ°Π½Π΄ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ ΠΈ ΠΏΠ°ΠΏΠΊΠ°ΠΌΠΈ, поиском, настройкой окруТСния ΠΈ позволяСт ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ОБ прямо ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки.

Π§Π΅ΠΌ особСнна ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° sh ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ Ρ€Π΅Π΄ΠΊΠΎ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Π΅ΠΌ особСнна ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° sh ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ Ρ€Π΅Π΄ΠΊΠΎ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Π΅ΠΌ особСнна ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° sh ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ Ρ€Π΅Π΄ΠΊΠΎ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Π΅ΠΌ особСнна ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° sh ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ Ρ€Π΅Π΄ΠΊΠΎ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ. Π€ΠΎΡ‚ΠΎ Π§Π΅ΠΌ особСнна ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° sh ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ Ρ€Π΅Π΄ΠΊΠΎ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ

Π‘Π»ΠΎΠ²ΠΎ bash читаСтся ΠΊΠ°ΠΊ «баш» ΠΈ Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ΡΡ ΠΊΠ°ΠΊ Bourne-Again Shell. Π‘Ρ‚ΠΈΠ²Π΅Π½ Π‘ΠΎΡ€Π½ β€” это имя ΠΈ фамилия создатСля ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ, Π° sh (Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ΡΡ ΠΊΠ°ΠΊ «шСлл») β€” Π΅Π΅ прСдыдущая вСрсия. Она использовалась Π² старых вСрсиях ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм UNIX. На shell основаны практичСски всС соврСмСнныС систСмы ΠΊΠΎΠΌΠ°Π½Π΄ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ОБ.

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ bash

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

Π•ΡΡ‚ΡŒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ способ использования: созданиС bash- ΠΈΠ»ΠΈ shell-скриптов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ сохранСны Π² Ρ„Π°ΠΉΠ»Π΅. ΠŸΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ запускС Ρ„Π°ΠΉΠ»Π° Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π½Π°Π±ΠΎΡ€ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… Π² Π½Π΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄.

НачнитС свой ΠΏΡƒΡ‚ΡŒ Π² IT

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ сСбя Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ, Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…, Data Science ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… вострСбованных ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡΡ… β€” ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ всС курсы для Π²Ρ…ΠΎΠ΄Π° Π² IT ΠΏΠΎ Ρ†Π΅Π½Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ.

Π—Π°Ρ‡Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ bash

Π’Π΅ ΠΆΠ΅ самыС дСйствия с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ, ΠΏΠ°ΠΏΠΊΠ°ΠΌΠΈ ΠΈ поиском ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ графичСского интСрфСйса ОБ. Но это дольшС, Π½Π΅ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ ΠΈ слоТнСС. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ bash ΠΈΠ»ΠΈ shell, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ ΠΈ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ с систСмой.

НапримСр, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ графичСского интСрфСйса, Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΏΠ°ΠΏΠΊΡƒ, Π³Π΄Π΅ ΠΎΠ½ располоТСн, ΠΊΠ»ΠΈΠΊΠ½ΡƒΡ‚ΡŒ Π½Π° Ρ„Π°ΠΉΠ» ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ, Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ контСкстноС мСню ΠΈ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Β«Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΒ». А Ссли ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку ΠΈ bash β€” потрСбуСтся ввСсти ΠΎΠ΄Π½Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ.

Команда cp ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Β«ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΒ». β€” это ΠΏΡƒΡ‚ΡŒ ΠΊ исходному Ρ„Π°ΠΉΠ»Ρƒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ /home/file.txt. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ file.txt Π»Π΅ΠΆΠΈΡ‚ Π² ΠΏΠ°ΠΏΠΊΠ΅ /home.

β€” ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΊΠΎΠΏΠΈΠΈ Ρ„Π°ΠΉΠ»Π°, которая создастся ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. НапримСр, /home/usr/file2.txt, Π³Π΄Π΅ file2.txt β€” Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΏΠΈΠΈ. Она Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² ΠΏΠ°ΠΏΠΊΠ΅ /usr Π²Π½ΡƒΡ‚Ρ€ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ /home.

Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… систСмах графичСский интСрфСйс практичСски Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ. ВсС дСйствия Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки. Π—Π΄Π΅ΡΡŒ bash/shell Π½Π΅Π·Π°ΠΌΠ΅Π½ΠΈΠΌ.

Как Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ bash

ΠžΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ°-ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ встроСна Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ систСму ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ автоматичСски. Достаточно ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΎΠΊΠ½ΠΎ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° ΠΈ Π½Π°Ρ‡Π°Ρ‚ΡŒ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.

Π§Π΅ΠΌ особСнна ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° sh ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ Ρ€Π΅Π΄ΠΊΠΎ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Π΅ΠΌ особСнна ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° sh ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ Ρ€Π΅Π΄ΠΊΠΎ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Π΅ΠΌ особСнна ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° sh ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ Ρ€Π΅Π΄ΠΊΠΎ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Π΅ΠΌ особСнна ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° sh ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ Ρ€Π΅Π΄ΠΊΠΎ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ. Π€ΠΎΡ‚ΠΎ Π§Π΅ΠΌ особСнна ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° sh ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ Ρ€Π΅Π΄ΠΊΠΎ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ

Π§Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ bash-скрипт, записанный Π² Ρ„Π°ΠΉΠ», Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π΄Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²Π° Π½Π° Π΅Π³ΠΎ исполнСниС

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹

Бинтаксис ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ выглядит Ρ‚Π°ΠΊ:

АргумСнты β€” это Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π΅. НапримСр, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ», Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π΅Π³ΠΎ имя β€” ΠΎΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ.

Π€Π»Π°Π³ΠΈ ΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Π½ΡƒΠΆΠ½Ρ‹ Π½Π΅ всСгда ΠΈ Π½Π΅ для всСх ΠΊΠΎΠΌΠ°Π½Π΄.

Как устроСна навигация Π² bash

ΠžΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΠΏΠ°ΠΏΠΎΠΊ Π² Linux Π½Π΅ такая, ΠΊΠ°ΠΊ Π² Windows. ΠŸΡƒΡ‚ΡŒ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ отсчитываСтся Π½Π΅ ΠΎΡ‚ названия диска, Π° ΠΎΡ‚ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠ³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°. Говоря языком «для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…Β», это Π½Π°Ρ‡Π°Π»ΡŒΠ½Π°Ρ Ρ‚ΠΎΡ‡ΠΊΠ°: считаСтся, Ρ‡Ρ‚ΠΎ всС Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ ΠΏΠ°ΠΏΠΊΠΈ Π² систСмС располоТСны Π²Π½ΡƒΡ‚Ρ€ΠΈ «корня». Π’Π½ΡƒΡ‚Ρ€ΠΈ этих ΠΏΠ°ΠΏΠΎΠΊ ΠΌΠΎΠ³ΡƒΡ‚ Π»Π΅ΠΆΠ°Ρ‚ΡŒ свои ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ ΠΈ Ρ„Π°ΠΉΠ»Ρ‹, Π½ΠΎ ΠΈΡ… располоТСниС Ρ‚ΠΎΠΆΠ΅ отсчитываСтся ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠ³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°. ΠšΠΎΡ€Π½Π΅Π²ΠΎΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ обозначаСтся прямым слэшСм /.

Π£ΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ вСсь ΠΏΡƒΡ‚ΡŒ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ. МоТно ΠΏΡ€ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ располоТСниС Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΠΏΠ°ΠΏΠΎΠΊ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‚ΠΎΠ³ΠΎ мСста, Π³Π΄Π΅ Π²Ρ‹ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ΡΡŒ.

Π’ систСмах Windows для указания ΠΏΡƒΡ‚ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹Π΅ слэши \. Π’ Linux это всСгда прямыС слэши /.

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ для Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ ΠΏΠΎ систСмС

ΠŸΠΎΡΡ‚ΠΎΡΠ½Π½ΠΎ ΠΏΡ€ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΏΡƒΡ‚ΡŒ Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ слоТно ΠΈ Π΄ΠΎΠ»Π³ΠΎ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π² bash Π΅ΡΡ‚ΡŒ систСма ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ для Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ:

Π­Ρ‚ΠΈ обозначСния Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ вмСсто части ΠΏΡƒΡ‚ΠΈ ΠΈΠ»ΠΈ ΠΏΡƒΡ‚ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ. НапримСр, ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ ΠΏΠΎ систСмС ΠΈ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² мСстополоТСнии ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ для просмотра ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ

Π’ Ρ…ΠΎΠ΄Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π±Ρ‹Π²Π°Π΅Ρ‚ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„Π°ΠΉΠ» ΠΈΠ»ΠΈ ΠΌΠ°Π½ΡƒΠ°Π», ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ содСрТимоС ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°. Π£ bash для этого мноТСство возмоТностСй, Π½ΠΎ ΠΌΡ‹ ΠΏΠΎΠΊΠ° рассмотрим основныС:

Π§Π΅ΠΌ особСнна ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° sh ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ Ρ€Π΅Π΄ΠΊΠΎ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Π΅ΠΌ особСнна ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° sh ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ Ρ€Π΅Π΄ΠΊΠΎ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Π΅ΠΌ особСнна ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° sh ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ Ρ€Π΅Π΄ΠΊΠΎ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Π΅ΠΌ особСнна ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° sh ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ Ρ€Π΅Π΄ΠΊΠΎ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ. Π€ΠΎΡ‚ΠΎ Π§Π΅ΠΌ особСнна ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° sh ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ Ρ€Π΅Π΄ΠΊΠΎ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ

Less. Команда less ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» для чтСния Π² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ интСрфСйсС. Она Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для просмотра Π΄Π»ΠΈΠ½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π²Π½ΡƒΡ‚Ρ€ΠΈ интСрфСйса less ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΠΎ содСрТимому:

Π―Π·Ρ‹ΠΊ bash зависит ΠΎΡ‚ раскладки: Ссли ввСсти g, ΠΊΠΎΠ³Π΄Π° Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ русский язык, ΠΊΠΎΠΌΠ°Π½Π΄Π° Π½Π΅ сработаСт.

Π§Π΅ΠΌ особСнна ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° sh ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ Ρ€Π΅Π΄ΠΊΠΎ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Π΅ΠΌ особСнна ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° sh ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ Ρ€Π΅Π΄ΠΊΠΎ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Π΅ΠΌ особСнна ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° sh ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ Ρ€Π΅Π΄ΠΊΠΎ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Π΅ΠΌ особСнна ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° sh ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ Ρ€Π΅Π΄ΠΊΠΎ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ. Π€ΠΎΡ‚ΠΎ Π§Π΅ΠΌ особСнна ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° sh ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ Ρ€Π΅Π΄ΠΊΠΎ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ

Для ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° Π² nano Π±Π΅Π· открытия Ρ„Π°ΠΉΠ»Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π±Π΅Π· Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ для поиска

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ Π½Π°ΠΉΡ‚ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Ρ„Π°ΠΉΠ» ΠΈΠ»ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π½Π΅Π³ΠΎ. Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π΄Π²Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹:

Π Π°Π±ΠΎΡ‚Π° с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ

Π‘ΠΎ всСм, Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π² систСмС, ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ. Для этого bash прСдоставляСт ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ мноТСство ΠΊΠΎΠΌΠ°Π½Π΄. Π’ΠΎΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π½ΠΈΡ…:

Π’Π²ΠΎΠ΄ ΠΈ Π²Ρ‹Π²ΠΎΠ΄

МоТно Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ сразу нСсколько ΠΊΠΎΠΌΠ°Π½Π΄, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π»ΠΈ Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Ρƒ Π΄Π°Π½Π½Ρ‹Π΅, β€” это называСтся ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ΠΎΠΌ. Π’ Ρ‚Π°ΠΊΠΎΠΌ случаС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΡΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· |.

Π Π°Π±ΠΎΡ‚Π° с git

ΠŸΠΎΠΏΡƒΠ»ΡΡ€Π½Ρ‹Π΅ дистрибутивы Linux (Ubuntu, Debian ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΠ΅) ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ систСму контроля вСрсий git. Π£Π·Π½Π°Ρ‚ΡŒ ΠΎ Π½Π΅ΠΉ большС ΠΌΠΎΠΆΠ½ΠΎ Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅. Π‘ систСмой ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки.

Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ Π½Π° bash

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

Начало скрипта. Π§Ρ‚ΠΎΠ±Ρ‹ систСма поняла, Ρ‡Ρ‚ΠΎ Ρ„Π°ΠΉΠ» β€” скрипт, Π΅Π³ΠΎ пСрвая строка Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ:

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅. Π‘ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ²Ρ‹ΠΉ язык ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅. Π£ Π½ΠΈΡ… Π½Π΅Ρ‚ Ρ‚ΠΈΠΏΠ°, Π° ΠΎΠ±ΡŠΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΎΠ½ΠΈ Ρ‚Π°ΠΊ:

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ числовым, тСкстовым ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌ. МоТно ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΈΠ·Π²Π½Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ:

Условия ΠΈ Ρ†ΠΈΠΊΠ»Ρ‹. Π‘ΠΊΡ€ΠΈΠΏΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ дСйствия, Ссли ΡΠΎΠ±Π»ΡŽΠ΄Π°Π΅Ρ‚ΡΡ ΠΊΠ°ΠΊΠΎΠ΅-Π»ΠΈΠ±ΠΎ условиС. Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ конструкция:

Π¦ΠΈΠΊΠ»Ρ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ количСство Ρ€Π°Π· ΠΈΠ»ΠΈ ΠΏΠΎΠΊΠ° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ условиС Π²Π΅Ρ€Π½ΠΎ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΌΠΈ ΠΈ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΌΠΈ процСссами, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ вСрсии ΠΈΠ»ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с сСрвСром.

Π‘Ρ‚Π°Π½ΡŒΡ‚Π΅ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΌ junior-спСциалистом ΠΏΠΎ Linux с нуля ΠΈΠ»ΠΈ ΠΎΡ‚Ρ‚ΠΎΡ‡ΠΈΡ‚Π΅ ΡƒΠΆΠ΅ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ΡΡ Π½Π°Π²Ρ‹ΠΊΠΈ.

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

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

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