Онлайн робочі станції OnWorks Linux та Windows

логотип

Безкоштовний онлайн-хостинг для робочих станцій

<Попередній | зміст | Наступна>

Підтримуйте запуск сценаріїв

Під час розробки нашої програми корисно підтримувати програму в робочому стані. Роблячи це та часто тестуючи, ми можемо виявити помилки на початку процесу розробки. Це значно полегшить налагодження проблем. Наприклад, якщо ми запустимо програму, внесемо невелику зміну, а потім знову запустимо програму і знайдемо проблему, дуже ймовірно, що джерелом проблеми є остання зміна. Додавши порожні функції, викликані заглушки на мові програміста, ми можемо перевірити логічний хід нашої програми на ранній стадії. Під час створення заглушки доцільно включити щось, що забезпечує зворотний зв’язок програмісту, який показує, що виконується логічний потік. Якщо ми зараз подивимося на результат нашого сценарію:



[me@linuxbox ~]$ сторінка sys_info

Інформаційний звіт про систему для twin2

[me@linuxbox ~]$ сторінка sys_info

Інформаційний звіт про систему для twin2


Інформаційний звіт про систему для linuxbox

Створено мною 03 19:2009:04 EDT


Інформаційний звіт про систему для linuxbox

Створено мною 03 19:2009:04 EDT



ми бачимо, що в нашому виводі після позначки часу є порожні рядки, але ми не можемо бути впевненими в причині. Якщо ми змінимо функції, щоб включити відгуки:



report_uptime () {

echo "Виконано функцію report_uptime."

повертати

}


report_disk_space () {

echo "Виконано функцію report_disk_space."

повертати

}


report_home_space () {

echo "Виконано функцію report_home_space."

повертати

}

report_uptime () {

echo "Виконано функцію report_uptime."

повертати

}


report_disk_space () {

echo "Виконано функцію report_disk_space."

повертати

}


report_home_space () {

echo "Виконано функцію report_home_space."

повертати

}


і знову запустіть скрипт:



[me@linuxbox ~]$ сторінка sys_info

Інформаційний звіт про систему для linuxbox

Інформаційний звіт про систему для linuxbox

Створено 03/20/2009 05:17:26 AM EDT, мною Функція report_uptime виконана.

Виконано функцію report_disk_space. Виконано функцію report_home_space.

[me@linuxbox ~]$ сторінка sys_info

Інформаційний звіт про систему для linuxbox

Інформаційний звіт про систему для linuxbox

Створено 03/20/2009 05:17:26 AM EDT, мною Функція report_uptime виконана.

Виконано функцію report_disk_space. Виконано функцію report_home_space.

Підтримуйте запуск сценаріїв


тепер ми бачимо, що фактично виконуються три наші функції.

Оскільки наша функціональна структура працює та працює, настав час уточнити частину коду функції. По-перше, report_uptime функція:


report_uptime () {

кіт <<- _EOF_

Час роботи системи

$(час роботи)

_EOF_

повертати

}

report_uptime () {

кіт <<- _EOF_

Час роботи системи

$(час роботи)

_EOF_

повертати

}


Це досить просто. Ми використовуємо тут документ для виведення заголовка розділу та виводу файлу час безвідмовної роботи командування, оточений теги для збереження форматування команди. The звітний_дисковий простір функція схожа:


report_disk_space () {

кіт <<- _EOF_

Використання дискового простору

$(df -h)

_EOF_

повертати

}

report_disk_space () {

кіт <<- _EOF_

Використання дискового простору

$(df -h)

_EOF_

повертати

}


Ця функція використовує дф-х команда для визначення обсягу дискового простору. Нарешті, ми побудуємо домашній_простор звіту функція:


report_home_space () {

кіт <<- _EOF_

Використання домашнього простору

$(du -sh /home/*)

_EOF_

повертати

}

report_home_space () {

кіт <<- _EOF_

Використання домашнього простору

$(du -sh /home/*)

_EOF_

повертати

}


Ми використовуємо du з командою варіанти виконання цього завдання. Однак це не є повним вирішенням проблеми. Хоча він працюватиме на деяких системах (наприклад, Ubuntu), на інших він не працюватиме. Причина в тому, що багато систем встановлюють дозволи домашніх каталогів, щоб вони не були доступними для читання, що є розумним заходом безпеки. На цих системах домашній_простор звіту функція, як написано, буде


зображення

працює лише в тому випадку, якщо наш скрипт запущено з привілеями суперкористувача. Кращим рішенням було б, щоб сценарій налаштував свою поведінку відповідно до привілеїв користувача. Ми розглянемо це в наступному розділі.


Функції оболонки у вашому файлі .bashrc

Функції оболонки чудово замінюють псевдоніми і насправді є кращим методом створення невеликих команд для особистого використання. Псевдоніми дуже обмежені в типі команд і функцій оболонки, які вони підтримують, тоді як функції оболонки дозволяють будь-що, що можна створити сценарієм. Наприклад, якщо нам сподобалося звітний_дисковий простір оболонку, яку ми розробили для нашого сценарію, ми могли б створити подібну функцію з ім ds для наших .bashrc Файл:

ds () {

echo “Використання дискового простору для $HOSTNAME” df -h

}


Найпопулярніші хмарні обчислення ОС на OnWorks: