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

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

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

Π’ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ввСсти ZZ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Ρ„Π°ΠΉΠ» ΠΈ Π²Ρ‹ΠΉΡ‚ΠΈ ΠΈΠ· vi. Аналогично, ex-ΠΊΠΎΠΌΠ°Π½Π΄Π° :wq сочСтаСт Π² сСбС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ :w ΠΈ :q, пСрвая ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… сохраняСт Ρ„Π°ΠΉΠ», Π° вторая Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€.

Π’ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ :w ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ имя Ρ„Π°ΠΉΠ»Π°. Π’ этом случаС ΠΎΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π° Save As (Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ). НапримСр, Ссли Π²Ρ‹ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ foo.txt ΠΈ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ с ΠΈΠΌΠ΅Π½Π΅ΠΌ foo1.txt, Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

:w foo1.txt

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

Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° сохранит Ρ„Π°ΠΉΠ» с Π½ΠΎΠ²Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ, Π½ΠΎ ΠΎΠ½Π° Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ имя Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°. Если послС этого ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ foo.txt, Π° Π½Π΅ foo1.txt.

13. Настройка ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΡ ΠΊ Π²Π²ΠΎΠ΄Ρƒ

Π’ этой Π³Π»Π°Π²Π΅ ΠΌΡ‹ рассмотрим, казалось Π±Ρ‹, Ρ‚Π°ΠΊΡƒΡŽ Π½Π΅Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Π΄Π΅Ρ‚Π°Π»ΡŒ, ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΠ΅ ΠΊ Π²Π²ΠΎΠ΄Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ (prompt). ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΌΡ‹ познакомимся с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΌΠΈ особСнностями Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ ΠΈ самой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ эмулятора Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°.

Как ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π² Linux, ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΠ΅ ΠΊ Π²Π²ΠΎΠ΄Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ Π² ΠΎΡ‡Π΅Π½ΡŒ ΡˆΠΈΡ€ΠΎΠΊΠΈΡ… ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ…, ΠΈ хотя ΠΌΡ‹ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅ΠΌ это ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊ Π΄Π°Π½Π½ΠΎΡΡ‚ΡŒ, ΠΎΠ½ΠΎ Π² Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ оказываСтся ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ срСдством для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ ΡƒΠΌΠ΅Π΅Ρ‚ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΈΠΌ.

Устройство строки ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΡ ΠΊ Π²Π²ΠΎΠ΄Ρƒ

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ строка ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΡ ΠΊ Π²Π²ΠΎΠ΄Ρƒ ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π²ΠΈΠ΄:

[[email protected] ~]$

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° содСрТит имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, имя хоста (сСтСвоС имя ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°) ΠΈ имя Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°. Но ΠΊΠ°ΠΊ ΠΎΠ½Π° ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π»Π°ΡΡŒ? ВсС, оказываСтся, ΠΎΡ‡Π΅Π½ΡŒ просто. Π€ΠΎΡ€ΠΌΠ° ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΡ ΠΊ Π²Π²ΠΎΠ΄Ρƒ опрСдСляСтся Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ окруТСния PS1 (сокращСнно ΠΎΡ‚ prompt string 1 β€” строка ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΡ 1). Π£Π²ΠΈΠ΄Π΅Ρ‚ΡŒ содСрТимоС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ PS1 ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ echo:

[[email protected] ~]$ echo $PS1

[\[email protected]\h \W]\$

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

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

ΠœΡ‹ Π²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ PS1 содСрТит нСсколько символов, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€: ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки, Π·Π½Π°ΠΊ @ ΠΈ Π·Π½Π°ΠΊ Π΄ΠΎΠ»Π»Π°Ρ€Π°, Π½ΠΎ всС ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ΅ β€” сплошная Π°Π±Ρ€Π°ΠΊΠ°Π΄Π°Π±Ρ€Π°. НаиболСС Π΄ΠΎΠ³Π°Π΄Π»ΠΈΠ²Ρ‹Π΅ ΠΈΠ· вас сразу ΠΏΠΎΠΉΠΌΡƒΡ‚, Ρ‡Ρ‚ΠΎ символы, экранированныС слСшСм, β€” ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ символы, ΠΊΠ°ΠΊ Ρ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π²ΠΈΠ΄Π΅Π»ΠΈ Π² Ρ‚Π°Π±Π». 7.2. Π’ Ρ‚Π°Π±Π». 13.1 приводится Π½Π΅ΠΏΠΎΠ»Π½Ρ‹ΠΉ список символов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ командн­ая ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π² строкС ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΡ.

Π’Π°Π±Π»ΠΈΡ†Π° 13.1. Π­ΠΊΡ€Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π² строкС ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΡ

ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ

ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

\a

Π—Π²ΠΎΠ½ΠΎΠΊ. ЗаставляСт ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ ΠΈΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π·Π²ΡƒΠΊΠΎΠ²ΠΎΠΉ сигнал

\d

ВСкущая Π΄Π°Ρ‚Π° Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅: дСнь Π½Π΅Π΄Π΅Π»ΠΈ мСсяц число; Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Β«Mon May 26Β» (Пн Май 26)

\h

Имя хоста локальной ΠΌΠ°ΡˆΠΈΠ½Ρ‹ минус имя Π΄ΠΎΠΌΠ΅Π½Π°

\H

ПолноС имя хоста

\j

Число Π·Π°Π΄Π°Π½ΠΈΠΉ, Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ сСансС

\l

Имя Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ устройства Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°

\n

Π‘ΠΈΠΌΠ²ΠΎΠ» ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° строки

\r

Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ ΠΊΠ°Ρ€Π΅Ρ‚ΠΊΠΈ

\s

Имя ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ

\t

Π’Π΅ΠΊΡƒΡ‰Π΅Π΅ врСмя Π² 24-часовом Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅

\T

Π’Π΅ΠΊΡƒΡ‰Π΅Π΅ врСмя Π² 12-часовом Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅

\@

Π’Π΅ΠΊΡƒΡ‰Π΅Π΅ врСмя Π² 12-часовом Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ AM/PM

\A

Π’Π΅ΠΊΡƒΡ‰Π΅Π΅ врСмя Π² 24-часовом Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅, часы:ΠΌΠΈΠ½ΡƒΡ‚Ρ‹

\Π³

Имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

\v

НомСр вСрсии ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ

\V

НомСр вСрсии ΠΈ выпуска ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ

\w

Имя Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°

\W

ПослСдняя Ρ‡Π°ΡΡ‚ΡŒ Π² ΠΈΠΌΠ΅Π½ΠΈ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°

\!

НомСр Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² истории

\#

Число ΠΊΠΎΠΌΠ°Π½Π΄, Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ сСансС ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ

\$

Π’Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ символ $, Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π΅ являСтся ΡΡƒΠΏΠ΅Ρ€ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ, Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ символ #

\[

ΠžΡ‚ΠΌΠ΅Ρ‡Π°Π΅Ρ‚ Π½Π°Ρ‡Π°Π»ΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π½Π΅ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅ΠΌΡ‹Ρ… символов. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для внСдрСния Π½Π΅ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅ΠΌΡ‹Ρ… символов, ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ эмулятора Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ курсор ΠΈΠ»ΠΈ измСняСт Ρ†Π²Π΅Ρ‚ тСкста

\]

ΠžΡ‚ΠΌΠ΅Ρ‡Π°Π΅Ρ‚ ΠΊΠΎΠ½Π΅Ρ† ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π½Π΅ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅ΠΌΡ‹Ρ… символов

ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ оформлСния ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΡ

ИмСя список ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… символов, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΡ. Для Π½Π°Ρ‡Π°Π»Π° сохранитС исходноС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠΎΠ·Π΄Π½Π΅Π΅. Для этого скопируйтС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ PS1 Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ:

[[email protected] ~]$ ps1_old="$PS1"

Π—Π΄Π΅ΡΡŒ создаСтся новая пСрСмСнная с ΠΈΠΌΠ΅Π½Π΅ΠΌ ps1_old, ΠΈ Π΅ΠΉ присваиваСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ PS1. Π£Π±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ скопировано, ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ echo:

[[email protected] ~]$ echo $ps1_old

[\[email protected]\h \W]\$

Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π²Π°ΠΌ Π² любой ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ исходноС ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΡ, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ² ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ:

[[email protected] ~]$ PS1="$ps1_old"

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° всС Π³ΠΎΡ‚ΠΎΠ²ΠΎ, Π΄Π°Π²Π°ΠΉΡ‚Π΅ посмотрим, Ρ‡Ρ‚ΠΎ получится, Ссли ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΡƒΡΡ‚ΡƒΡŽ строку ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΡ:

[[email protected] ~]$ PS1=

Если ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊ ΠΏΡƒΡΡ‚ΡƒΡŽ строку, ΠΌΡ‹ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ. Π‘Ρ‚Ρ€ΠΎΠΊΠ° ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΡ просто исчСзнСт! Π’ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΎΠ½Π° всС Π΅Ρ‰Π΅ сущСствуСт, Π½ΠΎ ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½Π° пустая, Π½Π° экранС Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ отобраТаСтся, β€” собствСнно, ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΈ просили. Π’Π°ΠΊ ΠΊΠ°ΠΊ пустая строка ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΡ Π΄Π΅Π·ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ минимальноС ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅:

PS1="\$ "

Π’Π°ΠΊ Π»ΡƒΡ‡ΡˆΠ΅. По ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π²ΠΈΠ΄Π½ΠΎ, Π³Π΄Π΅ ΠΌΡ‹ находимся. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π·Π°Π²Π΅Ρ€ΡˆΠ°ΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΎΠ±Π΅Π» Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊ. Он обСспСчиваСт Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ пространство Π½Π° экранС ΠΌΠ΅ΠΆΠ΄Ρƒ Π·Π½Π°ΠΊΠΎΠΌ Π΄ΠΎΠ»Π»Π°Ρ€Π° ΠΈ курсором.

Π”ΠΎΠ±Π°Π²ΠΈΠΌ Π² строку ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΡ сигнал:

$ PS1="\a\$ "

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π²Ρ‹Π²ΠΎΠ΄Π΅ строки ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΡ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠ»Ρ‹ΡˆΠ°Ρ‚ΡŒ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΉ Π·Π²ΡƒΠΊΠΎΠ²ΠΎΠΉ сигнал. ΠŸΠΎΡΡ‚ΠΎΡΠ½Π½ΠΎ Π·Π²ΡƒΡ‡Π°Ρ‰ΠΈΠΉ сигнал ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π·Π΄Ρ€Π°ΠΆΠ°Ρ‚ΡŒ, Π½ΠΎ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π΅Π½, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ссли Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ Π·Π²ΡƒΠΊΠΎΠ²ΠΎΠ΅ ΠΎΠΏΠΎΠ²Π΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΎΠ± ΡƒΠ΄Π°Ρ‡Π½ΠΎΠΌ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ Π΄ΠΎΠ»Π³ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΡ…ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄.

А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΠ΅ Π±ΠΎΠ»Π΅Π΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌ, Π΄ΠΎΠ±Π°Π²ΠΈΠ² имя хоста ΠΈ врСмя суток:

$ PS1="\A \h \$ "

17:33 linuxbox $

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ суток ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ³ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ, Ссли Π΅ΡΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π·Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠ»ΠΎΡΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ. НаконСц, сдСлайтС ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡ…ΠΎΠΆΠΈΠΌ Π½Π° ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠ΅:

17:37 linuxbox $ PS1="<\[email protected]\h \W>\$ "

<[email protected] ~>$

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈΠ· Ρ‚Π°Π±Π». 13.1 ΠΈ посмотритС, смоТСтС Π»ΠΈ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ свою ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ строку ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΡ ΠΊ Π²Π²ΠΎΠ΄Ρƒ.

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ†Π²Π΅Ρ‚Π°

Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ эмуляторов Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΠΎΠ² Ρ€Π΅Π°Π³ΠΈΡ€ΡƒΡŽΡ‚ Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π½Π΅ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅ΠΌΡ‹Ρ… символов, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°ΠΌΠΈ символов (Ρ‚Π°ΠΊΠΈΠΌΠΈ, ΠΊΠ°ΠΊ Ρ†Π²Π΅Ρ‚, ΠΆΠΈΡ€Π½ΠΎΡΡ‚ΡŒ ΠΈ ΠΌΠΈΠ³Π°Π½ΠΈΠ΅) ΠΈ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠ΅ΠΉ курсора. О ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ курсора ΠΌΡ‹ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Ρ‡ΡƒΡ‚ΡŒ ΠΏΠΎΠ·ΠΆΠ΅, Π° сСйчас займСмся Ρ†Π²Π΅Ρ‚ΠΎΠΌ.

нСдоразумСния с Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°ΠΌΠΈ

Π’ стародавниС Π²Ρ€Π΅ΠΌΠ΅Π½Π°, ΠΊΠΎΠ³Π΄Π° дискСты Π±Ρ‹Π»ΠΈ большими, Π° Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Ρ‹ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π»ΠΈΡΡŒ ΠΊ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°ΠΌ, сущСствовало Π²Π΅Π»ΠΈΠΊΠΎΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΠΎΠ², ΠΈ всС ΠΎΠ½ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ. Они ΠΈΠΌΠ΅Π»ΠΈ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ ΠΈ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ. Π’ Unix ΠΈ Π² Unix-ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… систСмах ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ Π΄Π²Π΅ ΠΎΡ‡Π΅Π½ΡŒ слоТныС подсистСмы (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ termcap ΠΈ terminfo), Ρ€Π΅ΡˆΠ°ΡŽΡ‰ΠΈΠ΅ всС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, связанныС с ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°ΠΌΠΈ. Если Π·Π°Π³Π»ΡΠ½ΡƒΡ‚ΡŒ Π² самыС ΠΏΠΎΡ‚Π°Π΅Π½Π½Ρ‹Π΅ ΠΊΠ»Π°Π΄ΠΎΠ²Ρ‹Π΅ настроСк эмулятора Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠΉ Ρ‚ΠΈΠΏ эмулируСмого Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°.

Π§Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Ρ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ Π½Π° Π΅Π΄ΠΈΠ½ΠΎΠΌ языкС, АмСриканский Π½Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ институт стандартов (American National Standards Institute, ANSI) Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π» Π½Π°Π±ΠΎΡ€ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ символов для управлСния Π²ΠΈΠ΄Π΅ΠΎΡ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°ΠΌΠΈ. ЗаслуТСнныС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ DOS Π΅Ρ‰Π΅ помнят Ρ„Π°ΠΉΠ» ANSI.SYS, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ примСнялся для ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΠΈ этих ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ.