Logo Host-telecom.com — профессиональный хостинг в Европе! Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Ваш сайт в 8 раз быстрее конкурентов. Хостинг от $2.95

VPS: SSD, KVM, бесплатные бэкапы и администрирование

Все необходимое для вашего сайта и лучшая техподдержка 24/7

хостинг сайтов ГиперХост — хостинг сайтов который Вы искали.

Виртуальный хостинг, Аренда VPS серверов, рация доменных имен, SSL сертификаты

💰 Самые низкие цены на домены

🔒 Отличный хостинг на SSD c бесплатными SSL

💻 Огромнейший выбор dedicated выделенных серверов

Виртуальные VPS серверы в РФ и ЕС

Dedicated серверы в РФ и ЕС

По промокоду CITFORUM скидка 30% на заказ VPS\VDS

9.4. Отладка программы

Для нахождения и корректировки ошибок вам могут понадобиться две опции команды sh:

sh -v shellprogramname
печатает вводимые shell строки, как если бы они были прочитаны системой;
sh -x shellprogramname
печатает команды и их аргументы по мере их выполнения.

Для примера создадим shell программу, которая содержит ошибку:

        $ cat bug<CR>
        today=`date`
        echo enter person
        read person
        mail $1
        $person
        When you log off once into my office olease.
        $today
        MLH
        $

Обратите внимание, что today равно выводу команды date, которая заключена между знаками слабого ударения.

При выполнении программы bug, чтобы завершить программу, вы должны нажать клавишу BREAK или DELETE.

Чтобы отладить эту программу, попытайтесь выполнить ее с использованием sh -v. Будут напечатаны строки файла, как если бы они были прочитаны системой:

        $ sh -v  bug tom<CR>
        today=`date`
        echo enter person
        enter person
        read person
        tom
        mail $1

Обратите внимание, что вывод остановился на команде mail, т.к. здесь обнаружена ошибка. Вы должны использовать here document, чтобы перенаправить ввод в mail.

Откорректированная программа bug будет выглядеть следующим образом:

        $ cat bug<CR>
        today=`date`
        echo enter person
        read person
        mail $1 <<!
        $person
        When you log off once into my office olease.
        $today
        MLH
        !
        $

Команда tee полезна при отладке конвейеров. В то время как стандартный ввод команда направляет в стандартный вывод, она сохраняет копию этого ввода в файл, имя которого дано как аргумент.

Общий формат команды tee:

	command1 | tee saverfile | command2<CR>
где saverfile - это файл, который сохраняет вывод команды для анализа.

Предположим, вы хотите проверить вывод команды grep в следующей командной строке:

	who | grep $1 | cut -c1-9<CR>

Вы можете воспользоваться командой tee, чтобы скопировать вывод команды grep в файл check не разрушая остальной конвейер:

	who | grep $1 | tee check | cut -c1-9<CR>

Файл check содержит копию вывода grep, как показано на следующем экране:

        $ who | grep mike | tee check | cut -c1-9<CR>
        mike
        $ cat check
        mike   tty61  Apr 10  10:30
        $

9.4.1. Модификация окружения

Система UNIX позволяет вам модифицировать конфигурацию, определяемую при вашей регистрации.

Когда вы регистрируетесь в системе, shell вначале проверяет файл .profile в вашем регистрационном справочнике. Этот файл содержит команды, которые управляют вашей конфигурацией. Этот файл может быть изменен в соответствии с вашими потребностями. Чтобы проверить, существует ли в вашем собственном справочнике файл .profile, введите:

	ls -al $HOME 

При редактировании файла .profile будьте очень внимательны. Прежде чем выполнить какие-либо изменения в файле .profile сделайте копию этого файла, например с именем safe.profile. Введите:

	cp .profile safe.profile<CR>

9.4.2. Добавление команд в файл .profile

Отредактируем файл и добавим следующую команду echo последней строкой в файл:

	echo Good Morning! I am ready to work for you.

Если вы сделали какие-либо изменения в файле .profile и хотите использовать его в текущей сессии, то вы можете выполнить команды непосредственно с использованием команды shell точка (.). shell вновь проинициализирует конфигурацию, прочитав выполненные команды в файле .profile. Попытайтесь сделать это, введите:

	. .profile<CR>
Система ответит:
         Good Morning! I am ready to work for you.
         $

9.4.3. Установка характеристик терминала

Команда stty может сделать вашу конфигурацию более удобной. Вы можете воспользоваться этой командой с опциями -tabs и echoe.

stty -tabs -
эта опция сохраняет символы табуляции при печати. Она устанавливает табуляцию более, чем на 8 пробелов (это значение установлено по умолчанию). Количество пробелов для каждой табуляции может быть разным;
stty echoe -
эта опция стирает символы с экрана аналогично тому, как это делаете с помощью BACKSPACE.

Вы можете включить эти команды stty в файл .profile. Если вы воспользуетесь командой tail, которая отображает несколько последних строк файла, то вы можете увидеть результат добавления этих трех командных строк в файл .profile:

        $ tail -3 .profile<CR>
        echo Good Morning! I am ready to work for you.
        stty -tabs
        stty echoe
        $

Назад | Содержание | Вперед

VDS хостинг Облачный сервер в Нидерландах и Украине

Аренда виртуального сервера от $7.91

Партнёрская программа
$20 за клиента

Wildcard сертификаты от $74,97 в год.

Дешевые ssl сертификаты для домена

Sectigo сертификаты от $7,67 в год.

хостинг Украина Виртуальный хостинг для сайта от $4,87

Регистрация домена от $2 в год

Партнерская программа – $20 за клиента

VPS с гибкой конфигурацией: за 1€

Мощные выделенные сервера: от 25€

Собственный Дата-Центр
Поддержка 24/7

Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

ATLEX Выделенные серверы: в Европе / в России.

Виртуальные серверы: в Европе / в России.

Партнерская программа

Новости мира IT:

Архив новостей

Последние комментарии:

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 7861149
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...