1. Початкові дані і постановка задачі.
2. Текст програми.
3. Висновки.
Методичні вказівки
Аргументи командного рядка
Передача аргументів в програму відбувається таким чином:
<ім’я програми> [<арг.1> <арг.2>…]
Усередині програми доступ до аргументів здійснюється за допомогою спеціальних змінних, званих позиційними
$<n>, n – номер позицій парам.
$1 - перший
$2 - другий
Є ще додаткові можливості підстановки.
$0 ім’я сценарію
$* всі аргументи одним рядком
$@ всі аргументи окремо
$# кількість аргументів
$$ ідентифікаційний номер поточного процесу
$! ідентифікаційний номер фонового завдання
$? ідентифікаційний номер виконуваної команди
Команди shift і set
shift – здвигає номери аргументів
echo “$0 has $# arguments”
shift
echo “$0 has $# arguments”
set – встановлює позиційні параметри
Імена (ідентифікатори) позиційних параметрів складаються з однієї або більш за цифри (тільки не з одиночного нуля). Значеннями позиційних параметрів є аргументи, які були задані при запуску оболонки (перший аргумент є значенням позиційного параметра 1, і т. д.). Змінити значення позиційного параметра можна за допомогою вбудованої команди set
|
|
Т.ч. позиційні параметри можуть бути не обов'язково аргументи, а виведення будь-якої команди.
Приклад:
echo “$1 $2 $3”
set `uname -a`
echo “$1 $2 $3”
Арифметичні операції
Команди:
let
$(())
expr
let <вираз>
Обчислює арифметичні вирази, вираз порівняння.
Наприклад:
let 2*7 # видає значення одразу
let a=11 # Те ж саме, що і 'a=11'
let a=a+5 # Еквівалентно "a = a + 5"
let "a /= 4" # Еквівалентно let "a = a / 4"
let "a -= 5" #Еквівалентно let "a = a - 5"
let "a %= 8" # Еквівалентно let "a = a % 8"
Expr
Універсальний обробник виразів: обчислює заданий вираз (аргументи повинні відділятися пропусками). Вирази можуть бути арифметичними, логічними або рядковими.
expr 3 + 5 # поверне 8
expr 5 % 3 # поверне 2
expr 5 \* 3 # поверне 15
У арифметичних виразах, оператор множення обов'язково повинен екрануватися зворотним слешем.
A=`expr \(5 + 3 \) / 3 # (5+3) /3
y=`expr $y + 1`
Операція інкремента змінною, те ж саме, що і
let y=y+1, или y=$(($y+1)).
$((...))
У арифметичних підстановках, зворотні одиночні лапки можуть бути замінені на подвійні круглі дужки $((...)) або дуже зручною конструкцією, із застосуванням пропозиції let.
z=$(($z+3))
z=$((z+3)) # Також вірно.
Усередині подвійних круглих дужок, змінні разименовиваются автоматично.