<Попередній | зміст | Наступна>
Перший етап: Мінімальний документ
Перше, що нам потрібно знати, це формат добре сформованого HTML-документа. Це виглядає так:
Заголовок сторінки
Тіло сторінки.
Заголовок сторінки
Тіло сторінки.
Якщо ми введемо це в наш текстовий редактор і збережемо файл як foo.html, ми можемо використовувати таку URL-адресу у Firefox для перегляду файлу:
file:///home/ім'я користувача/foo.html
Перший етап нашої програми зможе вивести цей HTML-файл у стандартний вихід. Ми можемо написати програму, щоб зробити це досить легко. Давайте запустимо наш текстовий редактор і створимо новий файл з іменем ~/bin/sys_info_page:
[me@linuxbox ~]$ vim ~/bin/sys_info_page
[me@linuxbox ~]$ vim ~/bin/sys_info_page
і введіть таку програму:
#! / бін / баш
# Програма для виведення echo сторінки системної інформації " "
луна" "
луна" Заголовок сторінки "луна" "
луна" "
echo "Тіло сторінки." луна" "
луна" "
#! / бін / баш
# Програма для виведення echo сторінки системної інформації " "
луна" "
луна" Заголовок сторінки "луна" "
луна" "
echo "Тіло сторінки." луна" "
луна" "
Наша перша спроба розв’язати цю проблему містить шубанг, коментар (завжди гарна ідея) і послідовність нудьгувати команди, по одній для кожного рядка виводу. Після збереження файлу ми зробимо його виконуваним і спробуємо запустити:
[me@linuxbox ~]$ chmod 755 ~/bin/sys_info_page
[me@linuxbox ~]$ сторінка sys_info
[me@linuxbox ~]$ chmod 755 ~/bin/sys_info_page
[me@linuxbox ~]$ сторінка sys_info
Коли програма запускається, ми повинні побачити текст HTML-документа, що відображається на екрані, оскільки нудьгувати команди в скрипті надсилають свій вихід на стандартний вихід. Ми знову запустимо програму та перенаправимо вихід програми у файл sys_info_page.html, щоб ми могли переглянути результат за допомогою веб-браузера:
[me@linuxbox ~]$ sys_info_page > sys_info_page.html
[me@linuxbox ~]$ firefox sys_info_page.html
[me@linuxbox ~]$ sys_info_page > sys_info_page.html
[me@linuxbox ~]$ firefox sys_info_page.html
Все йде нормально.
При написанні програм завжди варто прагнути до простоти та ясності. Обслуговування легше, коли програму легко читати й розуміти, не кажучи вже про те, що вона може полегшити написання програми, зменшуючи кількість вводу. Наша поточна версія програми працює нормально, але вона могла б бути простішою. Ми могли б фактично об’єднати всі команди echo в одну, що, безумовно, полегшить додавання більше рядків до виводу програми. Отже, давайте змінимо нашу програму на таку:
Перший етап: Мінімальний документ
#! / бін / баш
# Програма для виведення сторінки системної інформації
луна"
Заголовок сторінки
Тіло сторінки.
"
#! / бін / баш
# Програма для виведення сторінки системної інформації
луна"
Заголовок сторінки
Тіло сторінки.
"
Рядок у лапках може містити нові рядки, а отже, містити кілька рядків тексту. Оболонка продовжуватиме читати текст, поки не зустрінеться в лапках. Це також працює таким чином у командному рядку:
[me@linuxbox ~]$ луна"
[me@linuxbox ~]$ луна"
>
>
>
>
>
>
Заголовок сторінки
>
>
>
>
>
>
> "
> "
Тіло сторінки.
Тіло сторінки.
Провідний символ «>» — це підказка оболонки, що міститься в PS2 змінна оболонки. Він з’являється щоразу, коли ми вводимо багаторядковий оператор у оболонку. Зараз ця функція трохи незрозуміла, але пізніше, коли ми розглянемо оператори багаторядкового програмування, вона виявиться досить зручною.