<Попередній | зміст | Наступна>
Використання параметрів позиції з функціями оболонки
Так само, як позиційні параметри використовуються для передачі аргументів до сценаріїв оболонки, їх також можна використовувати для передачі аргументів до функцій оболонки. Щоб продемонструвати, ми перетворимо інформація про файл скрипт у функцію оболонки:
інформація про файл () {
# file_info: функція для відображення інформації про файл, якщо [[ -e $1 ]]; тоді
echo -e "\nТип файлу:" файл $1
echo -e "\nСтан файлу:" stat $1
ще
echo "$FUNCNAME: використання: файл $FUNCNAME" >&2 повертає 1
інформація про файл () {
# file_info: функція для відображення інформації про файл, якщо [[ -e $1 ]]; тоді
echo -e "\nТип файлу:" файл $1
echo -e "\nСтан файлу:" stat $1
ще
echo "$FUNCNAME: використання: файл $FUNCNAME" >&2 повертає 1
fi
}
fi
}
Тепер, якщо сценарій, який включає в себе інформація про файл функція оболонки викликає функцію з аргументом імені файлу, аргумент буде переданий функції.
Завдяки цій можливості ми можемо написати багато корисних функцій оболонки, які можна використовувати не тільки в сценаріях, а й у наших .bashrc файли.
Зверніть увагу, що ПРОГРАМА змінну було змінено на змінну оболонки FUNCNAME. Оболонка автоматично оновлює цю змінну, щоб відстежувати поточну виконувану функцію оболонки. Зауважте, що $0 завжди містить повний шлях до першого елемента в командному рядку (тобто ім'я програми) і не містить назви функції оболонки, як ми могли б очікувати.