33.9. Проблемы переносимости
33.9. Проблемы переносимости
Эта книга делает упор на создании сценариев для командной оболочки Bash, для операционной системы GNU/Linux. Тем не менее, многие рекомендации, приводимые здесь, могут быть вполне применимы и для других командных оболочек, таких как sh и ksh.
Многие версии командных оболочек стремятся следовать стандарту POSIX 1003.2. Вызывая Bash с ключом --posix, или вставляя set -o posix в начало сценария, вы можете заставить Bash очень близко следовать этому стандарту. Но, даже без этого ключа, большинство сценариев, написанных для Bash, будут работать под управлением ksh, и наоборот, т.к. Chet Ramey перенес многие особенности, присущие ksh, в последние версии Bash.
В коммерческих версиях UNIX, сценарии, использующие GNU-версии стандартных утилит и команд, могут оказаться неработоспособными. Однако, с течением времени, таких проблем остается все меньше и меньше, поскольку утилиты GNU, в большинстве своем, заместили свои проприетарные аналоги в UNIX. После того, как Caldera дала разрешение на публикацию исходного кода некоторых версий оригинальных утилит UNIX, этот процесс значительно ускорился.
Bash имеет некоторые особенности, недоступные в традиционном Bourne shell. Среди них:
Некоторые дополнительные ключи вызова
Подстановка команд, с использованием нотации $( )
Некоторые операции над строками
Подстановка процессов
встроенные команды Bash
Более подробный список характерных особенностей Bash, вы найдете в Bash F.A.Q..
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
История переносимости Linux
История переносимости Linux Когда Линус Торвальдс впервые выпустил операционную систему Linux в ничего не подозревающий мир, эта ОС работала только на аппаратной платформе Intel i386. Хотя данная операционная система и была достаточно хорошо обобщена и хорошо написана,
Пару слов о переносимости
Пару слов о переносимости Если говорить коротко, то написание переносимого, ясного и красивого кода подразумевает следующие два момента.• Код необходимо разрабатывать с учетом самого общего сценария: следует предполагать, что все, что может случиться, обязательно
Проблемы
Проблемы • Мониторинг в SQL базу активно пожирает дисковое пространство! Например, за неделю работы программы, при общем количестве прошедшего трафика порядка 40 гигабайт (82 миллиона пакетов), в таблице мониторинга образовалось 2 миллиона записей). Размер SQL–таблицы и
Проблемы
Проблемы 7.1. Что-то не работает, как найти причину? Вообще-то, этот вопрос не относится к какой либо из конкретных операционных систем, и опытные пользователи прекрасно знают ответ на него, но анализируя ваши письма мы пришли к выводу, что лишним он не будет. Прежде всего,
1.5.6. Проблемы при загрузке
1.5.6. Проблемы при загрузке ОС Linux может использовать разделы, которые расположены дальше 1024-го цилиндра, но не может загружаться с таких разделов. Поэтому, если вы не можете создать Linux-раздел «ближе» к началу диска, создайте небольшой раздел для точки монтирования /boot (не
25. Проблемы с оборудованием
25. Проблемы с оборудованием Оборудование – физическая часть компьютера, куда входит все, что вы можете потрогать. Хотя оборудование доставляет меньшее количество проблем, чем программное обеспечение Windows XP (или любой другой операционной системы), они все-таки
5. Проблемы и их решения
5. Проблемы и их решения Зависла программа Если зависла программа, то в таком случае существует несколько вариантов действий.• В Windows XP большинство зависших приложений можно закрыть, нажав кнопку: Программа попросит подтверждение (рис. 5.1). Нажимаем Завершить
19.2.3.6. Рекомендованные практические приемы переносимости кода С/С++
19.2.3.6. Рекомендованные практические приемы переносимости кода С/С++ При написании программ на С используйте полные ANSI-функции. В частности, используйте прототипы функций, которые помогают выявить несовместимость между модулями. Старые компиляторы в стиле K&R — древняя
19.2.3.6. Рекомендованные практические приемы переносимости кода C/C++
19.2.3.6. Рекомендованные практические приемы переносимости кода C/C++ При написании программ на С используйте полные ANSI-функции. В частности, используйте прототипы функций, которые помогают выявить несовместимость между модулями. Старые компиляторы в стиле K&R — древняя
9.6. Вопросы сопровождения и переносимости
9.6. Вопросы сопровождения и переносимости Если вы решили включить в программу архитектурно-зависимые ассемблерные вставки. поместите их в отдельные макросы или функции, что облегчит сопровождение программы. Когда все макросы находятся в одном файле и задокументированы,
3.1.8 Формулировки мобильности (переносимости)
3.1.8 Формулировки мобильности (переносимости) В описание продукта могут быть внесены формулировки требований (правил) по мобильности
Проблемы (не)совместимости
Проблемы (не)совместимости Автор: Киви БердВ последнюю неделю мая окружной суд Хельсинки единогласно вынес «историческое» решение, постановив, что система защиты контента CSS, используемая на видеодисках DVD, является неэффективной (а значит, и ее снятие не является
Сложные проблемы
Сложные проблемы Сборщик мусора сталкивается со следующими проблемами, вызванными практическими ограничениями на размещение объектов в современной ОО-среде:[x]. ОО-подпрограммы могут вызывать внешние программы, в частности, С-функции, которые могут, в свою очередь,