інтерпретатор команд

При роботі з FreeBSD, в більшості випадках для виконання повсякденних завдань використовується командний інтерфейс (так звана `` оболонка '', `` shell ''). Основне завдання інтерпретатора - приймати вводяться команди і виконувати їх. Багато командні інтерпретатори мають вбудовані засоби для виконання повсякденної роботи, наприклад, операції над файлами і каталогами, редагування командного рядка, командні макроси і змінні оточення. Разом з FreeBSD поставляється кілька командних інтерпретаторів, наприклад, sh. або Bourne Shell, і tcsh. розширена версія C-shell. Багато інших інтерпретатори доступні з колекції портів FreeBSD, наприклад zsh і bash.

Який з командних інтерпретаторів використовувати? Це справа смаку. Якщо ви програмуєте на C, то вам, можливо, сподобається tcsh. Якщо ви працювали з Linux, або тільки починаєте працювати з інтерфейсом командного рядка UNIX ®, спробуйте bash. Кожен з названих інтерпретаторів має свої особливості, які відрізнять його від інших, і, можливо, вплинуть на ваш вибір.

Одна з найбільш часто використовуваних функцій командного інтерпретатора - додаток часткового імені файлу до повного. Ви можете набрати лише перші кілька символів імені файлу, натиснути клавішу табуляції (TAB), і командний інтерпретатор автоматично завершить ім'я. Наприклад, у нас є два файли, названі foobar і foo.bar. Припустимо, ми хочемо видалити файл foo.bar. Для цього, наберемо на клавіатурі rm fo [Tab]. [Tab].

Ви побачите наступне: rm foo [BEEP] .bar.

Тут [BEEP] - це так званий консольний сигнал, що сповіщає про те, що інтерпретатор не в змозі закінчити ім'я файлу, так як по введеним вами символам неможливо однозначно ідентифікувати файл. Наприклад, імена файлів foobar і foo.bar обидва починаються з fo. але після натискання TAB можна однозначно доповнити тільки до foo. Якщо ж тепер ввести точку (.) І знову натиснути TAB, інтерпретатор добудує ім'я файлу цілком.

Ім'я поточного користувача.

Каталоги, розділені двокрапкою, для пошуку файлів.

Мережеве ім'я віртуального дисплея X11, доступного для підключення.

Поточний командний інтерпретатор.

Назва (тип) терміналу. Використовується, щоб дізнатися можливості терміналу.

Список escape-послідовностей для управління різними функціями терміналу.

Каталоги, розділені двокрапкою, для пошуку файлів системного довідника.

Установка значень змінних оточення різна для різних верств. Наприклад, в інтерпретатора C-стилю, таких як tcsh і csh. це setenv. У інтерпретатора Bourne, таких як sh і bash. це export. Наприклад, щоб встановити або змінити значення змінної EDITOR до значення / usr / local / bin / emacs в csh або tcsh. виконайте команду:

В оболонках Bourne:

Щоб отримати значення змінної, наприклад, в командному рядку, помістіть символ $ перед ім'ям змінної. Наприклад, команда echo $ TERM виведе значення змінної $ TERM.

Командний інтерпретатор сприймає деякі символи, звані метасимвол, в якості керуючих. Один з найбільш часто використовуваних - символ *. який замінює будь-яку кількість символів в імені файлу. Метасимволи використовуються для пошуку файлів по масці, наприклад, команда echo * робить практично те ж саме, що і команда ls. оскільки інтерпретатор викликає команду echo. передаючи їй імена всіх файлів, що потрапляють під маску *.

У деяких ситуаціях потрібно, щоб інтерпретатор сприймав метасимволу як звичайні, що не несуть спеціальної смислового навантаження. Цього можна досягти, поставивши перед символом зворотну косу риску (\). Наприклад, команда echo $ TERM виведе тип вашого терміналу, в той же час команда echo \ $ TERM виведе саме слово $ TERM. а не значення змінної $ TERM.

Можна також скористатися опцією -s команди chsh. Наприклад, якщо ви хочете змінити інтерпретатор на bash. виконайте:

Note: Інтерпретатор, який ви будете використовувати, обов'язково повинен бути в файлі / etc / shells. Зазвичай, при установці інтерпретаторів з колекції портів. це робиться автоматично. Якщо ж це не так, вам потрібно буде самостійно додати відповідний рядок в цей файл.

Наприклад, якщо ви встановили bash вручну і помістили його в каталог / usr / local / bin. потрібно набрати:

Тепер можна сміливо використовувати команду chsh.