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

17.5 Преревірка файлів, числових значень та ланцюжків символів

За допомогою команди test разом з командою while, if та until виконують перевірку файлів:

- r файл існує і його можна прочитати

-w файл існує і в нього можна записувати

test –f <filename> файл існує і не є каталогом

-d файл існує і є каталогом

-s розмір файла відрізняється від 0

test true false

$ cat copyall

num =0 [лічильник файлів, що не можуть читатися]

if test –d $HOME/$1 [перевірка на існування дом. каталогу]

then :

else mkdir $HOME/$1 [якщо каталог не існує, його потрібно створити в початковому каталозі]

fi

$ kill -9 283 ця команда не може бути перехоплена або ігнорована вказаним у команді процесом

$_

$ kill –9 – самовивід з системи, якщо статус не привелейований, то припиняється процес свого терміналу.

$_

  • Синтаксичні помилки будуть фіксуватися завжди, коли пропущений або недоступний оператор або операнд.

  • Якщо намагаються застосовувати арифметичну операцію до символу або ланцюжку символів

17.5.1Умовна заміна змінних. Значення змінної можна використати у виразі або замінити його на інший. Ця процедура має назву умовної заміни змінної. SHELL реалізує 4 варіанти умовної заміни за допомогою {-,+,?,=}

$ {VARIABLE-OTHER}

Якщо VARIABLE було присвоєно значення, використовується це значення ; в протилежному випадку використовують ланцюжок символів OTHER, а VARIABLE залишається без змін

$ echo $ {VAL -123}перевіряє чи встановлено VAL

123 так як VAL не встановлено, то ланцюжок має 123 символи

$SUB=456

$ echo ${VAL-$ SUB}

456

$ { VARIABLE =OTHER}

Якщо VARIABLE було присвоєно значення, воно використовується, в протилежному випадку перед використанням змінної VARIABLE присвоюється значення OTHER

$ echo ${VAL=xyz}

xyz

$ echo $ VAL

xyz

$ {VARIABLE ? EMPTY}

Якщо VARIABLE присвоєно значення, використовується це значення, в протилежному випадку на екран виводиться повідомлення, що значення VAL не присвоєно VARIABLE ? EMPTY, а процедура припиняється.

$ error=’variable unset, procedure is aborted’

$ echo $ {VAR ? $ error}

VAR : variable unset, procedure is aborted

$_

$ echo $ {VAR ?}

VAR : parameter not set

$ {VARIABLE + OTHER}

Якщо змінній присвоєно значення, використовується значення змінної OTHER. Якщо ж значення змінної VARIABLE не присвоєно за її значення використовується пустий ланцюжок символів, при цьому VARIABLE значення не присвоюються.

17.5.2 Позиційні параметри. Для ідентифікації позицій елементів або аргументів у командному рядку shell встановлює позиційні параметри. Shell ідентифікує елементи командного рядка за допомогою номерів починаючи з 0. Перший елемент завжди позначається як ;0 – ім’я процедури

$0 $1 $2…$9

$ diff file1 file2 …file9

Команда SET.

Присвоює значення позиційним параметрам.

$ set arg1 arg2 arg3 arg4 arg5 arg6 arg7 arg8 arg9

$ echo $1 $2 $3 $4 $5 $6 $7 $8 $9

arg1 arg2 arg3 arg4 arg5 arg6 arg7 arg8 arg9

$_

Якщо вказати команду:

$ set ‘date’

$_

Вихід команди date буде передавати свої значення як аргументи.

$ date

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