Как узнать, написан ли сценарий оболочки в bash или sh

Как я могу узнать, написан ли сценарий в bash или sh ?

Первая строка скрипта здесь не полезна, поскольку в Linux скрипты bash имеют следующую строку: #!bin/sh

На самом деле, существует множество дистрибутивов где /bin/sh is bash (возможно, /bin/sh – это ссылка на /bin/bash в этих дистрибутивах), а не Bourne Shell. Поэтому, если я попытаюсь запустить скрипт, написанный в bash, например, FreeBSD, результат не определен, поскольку /bin/sh в FreeBSD является Bourne Shell, а не bash.

Есть ли простой способ определить, является ли скрипт bash или sh?

Есть ли какие-то отличительные особенности в синтаксисе?

One Solution collect form web for “Как узнать, написан ли сценарий оболочки в bash или sh”

На самом деле линии shebang означают что-то, поскольку некоторые дистрибутивы, такие как Debian, не используют bash для /bin/sh но dash .

Простейшим решением для определения, является ли сценарий оболочки bash, является использование checkbashism – см. man checkbashisms для деталей.

checkbashisms должен быть упакован разными дистрибутивами, для Debian он находится в пакете devscripts – Fedora в devscripts-minimal (раньше он был в rpmdevtools ) и OpenSuSe в rpmlint-mini

  • Как суммировать значения двух строк в строке в linux
  • Извлечение файлов в текущий каталог
  • ksh loop: "для dir in find .. do" не работает, в отличие от "для dir in ls .. do"
  • Скрипт инициализации запускается дважды в SSH
  • Разверните вывод двух команд `awk`
  • Как именно `if $ cmd; затем $ cmd; fi` отличаются от `$ cmd && $ cmd`?
  • Solaris «чистые» групповые файлы (или, в любом случае, любой текстовый файл)
  • Как добавить язык во FreeBSD?
  • Escape закрывает круглые скобки из URL с помощью firefox -remote
  • команда, которая работает как символ ~ (тильда) для представления некоторого каталога
  • Печать количества файлов, имеющих одинаковое имя для каждого файла из каталога
  • Только цифры sh и grep
  • Interesting Posts

    Есть ли программное обеспечение для программирования игровых мышек Logitech для любого Linux Distro?

    ошибки ловушки в сценариях bash

    Сессия экрана не работает при отсоединении

    Удалите все между вторым и вторым последним совпадением

    Микрофон не работает на archlinux

    мы можем использовать всю среду рабочего стола в Debian 8.5

    Роллинг выпуск двойной загрузки

    Программа для фильтрации строк, передавая их во внешнюю программу?

    Почему добавление двоеточия нарушает этот шаблон grep?

    Что такое более быстрый способ извлечь год из имен файлов, чтобы переместить их в каталоги на основе года, чем мой текущий подход использования `cut` и` rev`?

    Мне нужно установить драйвер ethernet во время установки арки

    Пакет Debian, созданный checkinstall, перезаписывает файл конфигурации в / etc / default

    Bash-скрипт $ переменное содержимое, эхо-пустое

    Ansible – настройка экземпляра AWS EC2 после его создания

    Почему ctrl + d не работает с этим?

    Linux и Unix - лучшая ОС в мире.