EduTranslator

Научные работы со всего мира

Рубрика: Программирование

Bash — проект Bourne Again SHel

Автор оригіналу статті — Chet Ramey.

Вступ

Bash — це проект Bourne Again SHell, повна реалізація детального каркасу IEEE POSIX та Open Group з інтерактивним редагуванням командного рядка, контроль роботи на структурах, що підтримують його, функції csh, такі як заміна історії та розширення підтяжки, а також заміщення інших функцій. Ось короткий список деяких функцій, доступних у Bash.

Щоб отримати додаткові відомості про функції Bash, нові для цього каркасу, див. довідку. Існує також велика man сторінка, яка має стиль Unix. Сторінка man є остаточним описом функцій каркасу.

Bash — це вільне програмне забезпечення, яке розповсюджується за умовами GNU General Public License, версія 3.

На найбльш поширені питання ви можете знайти відповідь у секції FAQ, хоча він більше не підтримується.

Поточний стан

Поточна версія bash — bash-4.4. (Підпис GPG).

Завантажуваний файл tar з поточною версією з усіма офіційними патчами доступний у репозиторії GNU git.

Знімок поточних джерел розробки (загалом оновлюється щотижня) також доступний у гілці GNU git bash devel.

Для отримання додаткової інформації див. Файл README.

Файл НОВИНИ детально перераховує нові функції в bash-4.4.

Наявність вихідного коду

Поточна версія bash доступна з ftp.cwru.edu і з майстра GNU ftp-сайту та його багатьох віддзеркалень. Цей файл розповсюдження містить форматовані копії документацій.

Ці файли підписані з моїм ключем GPG.

Доступні декілька файлів для FTP з ftp.cwru.edu.

Будь-які патчі для поточної версії доступні з CWRU та ftp.gnu.org.

Завантажуваний файл tar з поточною версією з усіма офіційними патчами доступний у сховищі GNU git, а знімок поточних джерел розробки (загалом оновлюється щотижня) також доступний у гілці розробки GNU bash git devel.

Попередні версії Bash доступні на ftp://ftp.gnu.org/gnu/bash.

Розподіл

Bash — це стандартний каркас в системах GNU / Linux, більшість з яких використовують bash-4.3. Bash-4.3 включено до складу колекції портів FreeBSD, колекції пакетів OpenBSD та NetBSD.

Проект OpenPKG робить джерело RPM башу-4.3 доступним для різних систем Unix і Linux як основну частину поточного випуску.

Поточні версії Mac OS X (від Jaguar / Mac OS X 10.2) постачаються з баш-3.2 як / bin / sh. Існують також попередньо скомпільовані пакети OS X пакетів bash-4.3, доступні з багатьох веб-сайтів, хоча вихідні пакунки, як правило, є більш сучасними. Баш для Дарвіна (база для MacOS X) доступний у MacPorts, Homebrew або Fink.

Користувачі Solaris 2.x та Solaris 7/8/10/11 можуть отримати попередньо скомпільовану версію bash-4.3 з сайту Unixpackages (підписку) або з OpenCSW. Oracle кораблі bash-3.2 як підтримувану частину Solaris 10 і bash-4.1 у складі Solaris 11. Версія Solaris / Illumos, що поширюється як OpenIndiana, включає bash-4.3 станом на вересень 2016 року.

Користувачі AIX можуть отримувати попередньо скомпільовані версії випусків bash-4.3 і старі для різних версій AIX від Groupe Bull, а також джерел та бінарних файлів bash-4.3 для різних випусків AIX від perzl.org. IBM робить Bash-4.2 та Bash-4.3 доступними для AIX 5L, AIX 6.1 та AIX 7.1 у складі пакета інструментів AIX для [GNU /] Linux-додатків. Вони використовують формат RPM; ви також можете отримати RPM для AIX.

Користувачі HP-UX можуть отримувати binaries і вихідний код bash-4.3 з портативного програмного забезпечення та архівного центру для HP-UX. (Поточна версія станом на цю дату — bash-4.3.46).

Він навіть доступний на Minix. Якщо ви використовуєте Windows, рекомендую використовувати Cygwin, який в даний час поставляє bash-4.3.42 і bash-4.3.46 або MinGW, який в даний час має bash-3.1.23 як частину базової системи MSYS.

Microsoft пропонує «Баш на Ubuntu в Windows» як інстальований додаток для Windows 10. Це, в основному, окрема пакетна версія Ubuntu, яка працює як додаток для Windows 10, і пропонує баш-4.3 в цьому середовищі.

Інші ресурси

Список найбільш поширених питань з відповідями, хоча цей документ більше не підтримується.

Список дискусій bug-bash@gnu.org часто містить інформацію про нові порти Bash, обговорення нових функцій або поведінки, які люди хотіли б змінити. Список розсилки — це повідомлення про помилки в bash і виправлення. Цей список розсилки також доступний як група новин Usenet, gnu.bash.bug.

Архіви помилок-башів, що містяться в грудні 1999 року, доступні зі списків .gnu.org. Групи Google мають архів gnu.bash.bug.

Загальні питання про програму bash та каркас слід надсилати на пошту розсилки help-bash@gnu.org. Його архіви також доступні на lists.gnu.org.

Деякі файли з поточного дистрибутива також можуть бути корисними.

  • README: файл, що описує Bash
  • НОВИНИ: файл точно перераховує помітні зміни між поточною та попередніми версіями
  • CHANGES: повна історія змін bash
  • ВСТАНОВИТИ: інструкції з монтажу
  • ПРИМІТКИ: специфікація конфігурації платформи та примітки щодо роботи
  • COMPAT: проблеми сумісності між bash4 та попередніми версіями
  • POSIX: що змінюється, коли bash знаходиться в режимі posix?

Ось пара документів, які написав автор на bashі.

  • Робота, яку я представив на ROSE 94 в Бухаресті, Румунія (PS).
  • Ще одна стаття від Usenix; login (PS).
  • Глава в архітектурі програм з відкритим кодом.

Повідомлення про помилки

Звіти про помилки для bash слід надіслати на bug-bash@gnu.org за допомогою програми bashbug, яка будується та встановлюється одночасно з башем.

Список дискусій bug-bash@gnu.org часто містить інформацію про нові порти Bash, обговорення нових функцій або поведінки, які люди хотіли б. Цей список розсилки також доступний як група новин usenet gnu.bash.bug. Ви можете підписатися і отримати список на lists.gnu.org.

Коли ви надсилаєте звіт про помилку, будь ласка, використовуйте програму bashbug, побудовану в той же час як bash. Якщо bash не вдалося побудувати, спробуйте побудувати bashbug безпосередньо з make bashbug. Якщо ви не можете створювати bashbug, будь-ласка, відправте пошту bug-bash@gnu.org з наступною інформацією:

  • Номер версії та статус випуску Bash (наприклад, 2.05-release)
  • Машина та операційна система, на якій вона працює (ви можете запускати bashversion -l з каталогу збірки bash або переглядати файл «.made» у цьому каталозі для цієї інформації)
  • Перелік прапорів комбінації або вмісту «config.h», якщо це необхідно
  • Опис помилки
  • Рецепт безпечного відновлення помилок
  • Виправлення помилки, якщо у вас є!

Програма bashbug включає більшу частину цього автоматично.

Якщо ви хочете зв’язатися безпосередньо з відповідальним Bash, відправте своє повідомлення на пошту bash-maintainers@gnu.org.

Від автора

Я відповідаю за Bash, і можна зв’язатись за допомогою ціє адреси bash-maintainers@gnu.org. Будь-ласка, надішліть доповнення та виправлення щодо цієї сторінки до chet.ramey@case.edu.

Список для написання якісних програм

Цей список має допомогти вам писати якісні програми.

Рафаель Фінкел, 17.08.2005

  • Ідентифікатори: переконайтеся, що всі ваші ідентифікатори є значимими.
    1. Однобуквенні ідентифікатори майже завжди позбавленні сенсу.

      Читать далее

Програмування

Історія

Програмування – складний процес. Метою програмного середовища є надання інструментів, які допомагають програмісту спростити завдання. Ми палкі прихильники інструментів програмування та тривалий час розробляємо такі інструменти. Будучи студентом, я працював над мовою програмування Dartmouth Basic. Одне з ключових нововведень полягало в тому, щоб додати до середовища налагоджувач мови оригіналу.

Наше справжнє дослідження в середовищах програмування розпочалося з появою робочих станцій (Apollos, Suns, Percs, …). Ми (поряд з кількома іншими групами) відчували, що треба вміти користуватися додатковою обчислювальною потужністю та графічним дисплеєм, щоб спростити та покращити досвід програмування.

Читать далее

EMD

Вступ

Це реалізація віддаленості від Землі, як описано в [1]. EMD обчислює відстань між двома розподілами, які представлені сигнатурами. Сигнатури — це набори зважених функцій, які фіксують розподіли. Функції можуть бути будь-якого типу і в будь-якій кількості вимірів, і визначаються користувачем.

EMD визначається як мінімальний об’єм роботи, що необхідний для зміни однієї сигнатури в іншу. Поняття «робота» базується на встановленій самим користувачем відстані, що являє собою дистанцію між двома функціями. Розмір двох сигнатур може бути різним. Також сума ваги однієї сигнатури може відрізнятися від сума ваги іншої (частковий збіг). Через це EMD нормалізується меншою сумою.

Читать далее

Тести для самоперевірки

Чому саме тести?

Більшість педагогів погоджуються з тим, що люди зберігають інформацію краще, коли вони використовують її для чогось. Тому я вважаю, що невеликі тести для самоперевірки студентів на основі їхнього поточного читання чи іншого навчального матеріалу, є дуже корисними. Більшість студентів погоджуються, що виконання тесту відразу після прочитання чи прослуховування лекції допомагає їм запам’ятовувати цей матеріал.

Читать далее

BCPL

BCPL – це проста нетипізована мова програмування, яка була розроблена Мартіном Річардсоном у 1966 році і вперше застосована навесні 1967 в Массачусетському технологічному університеті.

Автоматична інтерпретація BCPL надається безкоштовно для приватних та академічних цілей. Якщо ви бажаєте встановити її на свій комп’ютер, ознайомтесь із файлом дистрибутива README і отримайте копію bcpl.tgz. або bcpl.zip. Розміри і дати створення цих файлів ви можете знайти у файлі FILES.

Читать далее

XFOIL

XFOIL — це інтерактивна програма для створення та аналізу дозвукових ізольованих аеродинамічних поверхонь.

Вона складається з набору підпрограм, керованих меню і які виконують різноманітні корисні функції, а саме:

• В’язкий (або нев’язкий) аналіз існуючої аеродинамічної поверхні, який дозволяє:

Философские аспекты программирования

Сергей ТРОФИМОВ

Последнее время, я часто слышу о том, что философия умерла. Что вместе с эпохой Аристотеля, Гегеля, Бердяева ушла и философия, что сейчас умы людей полностью занимают точные науки, а для философии не осталось места. Но философия это в первую очередь мировоззрение, призма сквозь которую человек воспринимает окружающий мир свое место в этом мире, место среди окружающих его людей. Человечество, получив при помощи технического прогресса новые инструменты изучения окружающего мира одновременно получило и инструменты воздействия на этот мир и самого себя как часть окружающего. Люди остро нуждаются в осмыслении своего места в условиях технического прогресса влияния технических новшеств на самого человека, воспитании осторожного обращения с гигантской силой, данной человечеству техническим прогрессом.

Читать далее

Delphi или Visual C++ — вот в чем вопрос

Сергей Трофимов

На днях я получил письмо с таким вопросом:
>Вы можете рассказать чем отличается DELFI от VISUAL C++.
>В чем недостатки и преимущества  VISUAL C++, и какую программу из этих Вы посоветуете изучать.
И решил, что мое мнение, возможно, будет интересно не только автору письма. Конечно, это мое личное мнение и я могу в чем-то ошибаться, если Вы хотите высказаться по этому вопросу, добро пожаловать на  Форум.

Читать далее

Методика создания программного обеспечения для систем управления предприятиями с использованием типовых программных компонентов

С.Трофимов

Разработка и внедрение сложных программных комплексов для предприятий хранения и переработки зерна требует привлечения значительных ресурсов как разработчика так и самого предприятия, поэтому стоимость таких решений для промышленного предприятия среднего размера начинается от нескольких десятков тысяч долларов в нижнем ценовом диапазоне и практически не имеет верхней ценовой границы. Возникает вопрос есть ли пути ее уменьшения со стороны разработчиков системы.

Читать далее