Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
26
Добавлен:
27.03.2016
Размер:
341.5 Кб
Скачать

17.6 Зарезервовані змінні

Це спеціальні змінні, які встановлюються самим інтерпритатором shell, а не користувачем.

# - ЧИСЛО АРГУМЕНТІВ. Кількість позиційних параметрів (не враховуючи $0), які використані для запису аргументів.

$ set ‘date’

$ echo $#

5

? – КОД ПОВЕРНЕННЯ. Код стану, який повертається інтерпритатору sell останньою виконаною командаю. В загальних випадках при успішному виконанні команди повертається 0, при іншому результата команди – не нульове значення.

$ echo $?

0 [успішне завешення]

$_

! – Ідентифіквційний номер фонового процесу, який викликано останнім.

$ echo $!

243

$_

“-” – стан прапорців інтерпритатора shell. Визначає всі поточні прапорці shell, які могли бути встановлені або скинуті командою set.

$ echo $-

9

$_

Якщо цим змінним намагатися присвоїти будь-яке значення, то буде виведено повідомлення про помилку.

$ #=256

#=256 ; not found

$_

Команда expr (express) розглядає свої аргументи як вирази чи то як арифметичні або логічні.

Результат обчислення виразу передається на стандартний вивід. З expr використовуються наступні арифметичні операції: +, -, *, /, % (взяти залишок).

Expr трактує кожну операцію або значення як окремий аргумент тому їх розділяють пропусками. Щоб відділити мета символи від виразу спецсимволи беруть у “ ’ ”, або \, або “”.

$ a=2

$ a=’expr $a+7’

$ b=’expr$a/3’

$ c=’expr$a-1’*’’$b

$ d=’expr$c%5’

$ e=’$d-$b’

Вивід результату:

$ echo $a $b $c $d $e

9 3 24 1

$_

Expr може використовуватись з командою співставлення: - дозволяє порівнювати ланцюжки символів. Результатом виконання є число співпадаючих символів у обох ланцюжках символів.

$ R=’expr’ abcdefg ‘:’abcd’

$ echo $r

  1. якщо співпадають, якщо ні – 0

$_

$ R=’expr’ abcdefg’:’abce’

$ T=’expr’ abcdefg’:’bcde’

$ V=’expr’ abcd’:’abcdefg’

$ echo $R $T $V

0 0 0

$_

те ж саме й зі змінними

$ C=’expr $M:$N’

Можна використовувати для визначення довжини ланцюжків:

$ A=” This is an experiment”

тому, що є пропуски

$ count= ‘expr $A:’.*’

$ echo $count

21

Можливо виділяти тільки частину ланцюжка символів

$ B=’expr $A:’::\(.*)’

Це значить, що п’ять крапок перед знаком \ відповідають п’яти символам, які потрібно пропустити (також пропуски) з початку ланцюжка символів.

$ echo $B

is an experiment

$_

Перед обробкою команда expr перевіряє оператори на наявність помилок.

Вивід команди cmp(compare), буде передано до файлу nohup.out.

У випадку відсутності дозволу на запис у поточний каталог shell направить вивід до файлу nohup.out каталога $HOME/nohup.out.

Ця команда робить процес користувача таким, що не сприймає розриву зв’язку з терміналом при його відключенні, а також до сигналів завершення, які вводяться з термінала. Щоб визначити чи завершились фонові процеси використовують команду ps (process status).

Перелік основних команд системи UNIX

at – виконати команду у фоновому режимі в указаний час.

Формат:

at время [день]<CR>

команда_1<CR>

команда_2<CR>

<^d>

banner – роздрукувати повідомлення (слова повинні бути довжиною не більше 10 символів) великими літерами у стандартний вивід;

batch - поставити завдання в чергу. Формат:

batch<CR>

команда_1<CR>

команда_2<CR>

<^d>

Команда batch читає завдання із стандартного вводу і ставить його в чергу. Команди, поставлені в чергу командою batch, будуть виконані, коли дозволить рівень завантаженості;

cat – відображає зміст вказаного файлу на термінал. Щоб тимчасово призупинити вивід, натисніть <^s>, і щоб відновити вивід введіть <^q>. Для призупинення виводу і повернення керування shell, натисніть клавішу BREAK або DELETE;

cd - замінити поточний довідник. Якщо ви вказали ім’я довідника, то команда cd замінить поточний довідник на вказаний. Якщо ім’я не вказано, то використовується значення перемінної оточення $HOME. Якщо замість імені довідника зазначене ім'я шляху, то ви можете перескочити кілька рівнів за допомогою однієї команди;

cp - скопіювати зазначений файл у новий файл, залишивши оригінальний файл незмінним;

cut - вибрати окремі поля з рядків файлу. Ця команда може, наприклад, використовуватися для вибірки стовпчиків з таблиці;

date - відобразити поточні дату і час;

diff - порівняти два файли. Команда diff видає на стандартний вивід ті строки файлів, котрі потрібно змінити, щоб привести файли в відповідність один до одного;

echo - відображає введення на стандартний висновок, включаючи повернення каретки, і повертає підказку;

ed - редагування зазначеного файлу за допомогою порядкового редактора. Якщо ім'я файлу не зазначено, то команда ed створює новий файл;

grep - пошук по шаблону, заданому обмеженим регулярним виразом;

kill - завершить фоновий процес з допомогою ідентифікатора процесу (PID). Ви можете отримати PID, запуcтив команду ps;

lex - генерує програми, котрі будуть використовуватися для лексичного аналізу тексту;

lp - роздрукувати зміст вказаного файлу на построчно-друкуючому пристрої;

lpstat - відобразити стан любого запиту построчно-друкуючому пристрою;

ls - друкує імена усіх файлів і довідників, за виключенням тих, котрі начинаються з крапки;

mail - відправлення користувачам пошти або її читання. Кожне повідомлення закінчується підказкою ?; mail чекає від вас введення опції для збереження, видалення повідомлення або пересування до місця використання. Щоб одержати список припустимих опцій, введіть ?. mail, що випливає за реєстраційним ім'ям, посилає повідомлення власнику цього імені. Щоб завершити повідомлення, уведіть <^d>. Для переривання сеансу mail натисніть клавішу BREAK;

mailx - інтерактивна система обробки повідомлень;

make - підтримка, оновлення і відновлення груп програм;

mkdir - створити новий довідник. Новий довідник стає піддовідником того довідника, у якому ви видали команду mkdir;

mv - перемістити файл. За допомогою цієї команди можна скопіювати файл у новий у тім же довіднику або в новий файл в іншому довіднику. Якщо ви переміщаєте файл в інший довідник, то можете використовувати те ж саме ім'я файлу;

nohup – запустити команду у фоновому режимі; вона продовжить свою роботу і після того, як ви завершите роботу. Повідомлення про помилки і висновок будуть розташовуватися у файлі nohup.out;

pg - відображає вміст зазначеного файлу на термінал посторінково. Після роздруківки кожної сторінки система робить паузу і чекає від вас підтвердження на продовження висновку наступної сторінки;

pr - форматує і видає файли на стандартний висновок. Команда pr розбиває текст на сторінки;

ps - відображає стан і номер кожного процесу, що виконується у даний момент. Команда ps не відображає стан завдань, що знаходяться в черзі до at і batch;

pwd - відображає повне ім’я шляху поточного робочого довідника;

rm - видалити файли або довідники з файлової системи. У цій команді ви можете використовувати метасимволи, але з великою обережністю, тому що вилучені файли відновити непросто;

rmdir - видалити довідник. Ви не можете видалити довідник, у якому знаходитесь, не можете також видалити непорожній довідник;

sort - сортування і злиття файлів; результат відображається на екрані;

spell - слова із вказаного файлу перевірить на відповідність орфографії; слова, які не відповідають орфографіному списку, відображаються на екрані;

stty - установка характеристик термінального вводу/виводу для пристрою, що є стандартним вводом;

uname - відобразити ім’я системи UNIX, у якої ви робите;

uucp - послати вказаний файл іншій системі UNIX;

uuname - список імен віддалених систем UNIX, котрі можуть зв’язуватися з вашою системою UNIX;

uupick - пошук файлу у відкритому довіднику посланого вам командою uuto. Якщо файл знайдений, то uupick відображає його ім’я і ім’я системи, із якої він прийшов;

uustat - відобразити стан команди uuto, з допомогою якої ви відіслали файли іншому користувачу;

uuto - послати вказаний файл іншому користувачу. Вкажіть пункт призначення у форматі system!login; system повинно находитись у списку систем, створеному командою uuname;

wc - підрахувати числа строк, слів і символів в указаному файлі і відобразити результат на терміналі;

who - відобразити реєстраційні імена користувачів, у даний момент зареєстрованих у вашій системі UNIX;

yacc - компілятор компіляторів.

Соседние файлы в папке Додаткова інформація