Основы программирования в Linux
Шрифт:
В предыдущем примере стандартный вывод перенаправлен в файл с помощью оператора
Для дозаписи в конец файла используйте оператор
добавит вывод команды
Для перенаправления стандартного потока ошибок перед оператором
Предположим, что вы хотите применить команду
Команда
поместит вывод и информацию об ошибке в разные файлы.
Если вы предпочитаете собрать оба набора выводимых данных в одном файле, можно применить оператор
поместит свой вывод и стандартный поток ошибок в один и тот же файл. Обратите внимание на порядок следования операторов. Приведенный пример читается как "перенаправить стандартный вывод в файл killerr.txt, а затем перенаправить стандартный поток ошибок туда же, куда и стандартный вывод". Если вы нарушите порядок, перенаправление выполнится не так, как вы ожидаете.
Поскольку обнаружить результат выполнения команды
Перенаправление ввода
Также как вывод вы можете перенаправить ввод. Например,
Понятно, что это тривиальнейший пример для ОС Linux; команда
Каналы
Вы можете соединять процессы с помощью оператора канала (
Если не применять каналы, придется использовать несколько шагов, подобных следующим:
Соединение процессов каналом даст более элегантное решение:
Поскольку вы, вероятно, захотите увидеть на экране вывод, разделенный на страницы, можно подсоединить третий процесс,
Практически нет ограничений на допустимое количество процессов. Предположим, что вы хотите видеть все имена выполняющихся процессов, за исключением командных оболочек. Можно применить следующую командную строку:
В ней берется вывод команды
Как видите, это гораздо более элегантное решение, чем строка из отдельных команд, каждая со своими временными файлами. Но в этом случае имейте в виду следующее. Если строка состоит из команд, файл вывода создается или записывается сразу, как только сформирован набор команд, поэтому в строке из нескольких команд никогда не используйте дважды одно и то же имя файла. Если вы попытаетесь сделать что-то подобное:
то в результате получите пустой файл, т.к. вы перезапишете файл mydata.txt, прежде чем прочтете его.
Командная оболочка как язык программирования
Теперь, когда вы увидели некоторые базовые операции командной оболочки, самое время перейти к реальным программам оболочки. Есть два способа написания таких программ. Вы можете ввести последовательность команд и разрешить командной оболочке выполнить их в интерактивном режиме или сохранить эти команды в файле и затем запускать его как программу.
Интерактивные программы
Легкий и очень полезный во время обучения или тестирования способ проверить работу небольших фрагментов кода — просто набрать с клавиатуры в командной строке сценарий командной оболочки.
Предположим, что у вас большое количество файлов на языке С, и вы хотите проверить наличие в них строки
Дети немилости
Фантастика:
фэнтези
рейтинг книги
Вечный. Книга VI
6. Вечный
Фантастика:
рпг
фэнтези
рейтинг книги
1759. Год завоевания Британией мирового господства
Научно-образовательная:
история
рейтинг книги
Школьный Надзор
Дозоры
Фантастика:
фэнтези
рейтинг книги
Linux Mint и его Cinnamon. Очерки применителя
Компьютеры и Интернет:
ос и сети
рейтинг книги
Сборник статей и интервью 2009г (v1.23)
Научно-образовательная:
политика
рейтинг книги
Потерянный разум
Научно-образовательная:
политика
рейтинг книги
Том 6. Зарубежная литература и театр
6. Собрание сочинений в восьми томах
Документальная литература:
критика
рейтинг книги
Газлайтер. Том 4
4. История Телепата
Фантастика:
попаданцы
альтернативная история
аниме
рейтинг книги
Бальмануг. (Не) Любовница 2
4. Мир Десяти
Любовные романы:
любовно-фантастические романы
рейтинг книги
История политических и правовых учений. Учебник
Научно-образовательная:
история
юриспруденция
рейтинг книги
Маленькая женщина Большого
5. Наша
Любовные романы:
эро литература
современные любовные романы
рейтинг книги
"Фантастика 2024-164". Компиляция. Книги 1-25
Фантастика 2024. Компиляция
Фантастика:
боевая фантастика
попаданцы
альтернативная история
аниме
фэнтези
рейтинг книги
Мясной Бор
Проза:
военная проза
историческая проза
рейтинг книги