Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Сало залік.docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
133 Кб
Скачать
☆

38. Передача параметрів сценарію через командну стрічку.

Застосування shell - сценаріїв дозволяє економно витрачати робочий час при виконанні важливих і складних завдань . Shell - сценарії виробляють сортування файлів , вставку тексту у файли , переміщення файлів , видалення рядків з файлів , видалення старих файлів з ​​системи , а також виконують в системі деякі адміністративні завдання.

У сценаріях використовуються змінні , умовні , арифметичні і циклічні конструкції , які можна віднести до системних командам. За рахунок цих можливостей сценарії створюються досить швидко. Інтерпретатор команд може застосовувати в якості вступних даних для однієї команди інформацію , отриману при виконанні іншої команди. Щоб shell - сценарій застосовувався в різних системах UNIX та Linux , в нього потрібно внести лише невеликі зміни . Це пов'язано з тим , що інтерпретатор shell має високий ступінь універсальності. Певні труднощі виникають лише внаслідок орієнтації системних команд на певні системи .

Сценарій не відноситься до компільовані програмами , оскільки він інтерпретується построчно . Першим рядком сценарію завжди повинна бути рядок виду :

#! / bin / sh

39. Команда shift.

Команда shift є одною з встроєних команд Bourne, котра поставляется с Bash. У цієї команди є один аргумент - число. Це число N вказує, на скільки позицій позиціоні параметри зміщуються в ліво. Позиціоні параметри від N+1 до $# будуть переіменовані і будуть мати імена овід $1 до $# - N+1.

Скажем, у вас є команда, у котрійй 10 аргументів, і N рівне 4, тоді $5 стає $1, $6 стає $2 и так далі. $10 стає $6, а початкові $1, $2, $3 и $4 відкидаються.

Якщо N рівно нулю або більше $# (загальна кількість аргументів, смотрите раздел "Проверка аргументов командной строки"), то позиційні параметри не міняються і команда не діє. Якщо N відсутнє, то важається, що воно рівне 1. Код поверненя рівен 0, якщо N не більше $# і не менше нуля, в іншому випадку код повернення не рівен нулю.

[john@fenix testdir] cat test.sh

#!/bin/bash

echo "$@"

shift 4

echo "$@"

[john@fenix testdir] ./test.sh 1 2 3 4 5 6 7 8 9 10

1 2 3 4 5 6 7 8 9 10

5 6 7 8 9 10

[john@fenix testdir] ./test.sh 1 2 3

1 2 3

1 2 3

40. Вбудовані команди інтерпритатора Shell.

Найважливішим з користувацьких процесів є командна оболонка (вона ж командний інтерпретатор, або просто shell). Саме пона забезпечує взаємодію користувача з системою в текстовому режимі, дозволяючи вводити команди. Саме вона запускається, коли ви регистрируетесь на текстової консолі, і надає вам інтерфейс командного рядка.

командний інтерпретатор - це програма, яка має свої власні вбудовані команди (built-in commands), своє власне змінну оточення (environment), па також дозволяє виконувати зовнішні команди, які присутні в системі.

Список вбудованих команд оболонки bash можна отримати по команді help або знайти на man-сторінці в секції SHELL BUILTIN COMMANDS.

Ось кілька корисних вбудованих команд:

  • echo [аргументи] - Висновок аргументів на екран.

  • enable - Змушує оболонку замість вбудованої команди виконати виконуваний файлу з таким же ім'ям. Корисно, якщо у вас є власний сценарій по імені, наприклад, echo.

  • eval [аргументи] - Конструювання команди на льоту, із зазначених аргументів, і потправка її на виконання.

  • let - Обчислення виразів.

  • source - Прочитати і виконати команди, що містяться пв файлі. Застосовується для визначення користувачів змінних. пі функцій.

  • basename - Виділення локального імені.

  • expr - вираз.

  • read - Введення значення змінної.

  • shift - Зміна списку параметрів.

  • test - Перевірка умови.

Другие вбудовані команди служать інструкціями командного мови bash