Как я могу узнать, написан ли скрипт в bash
или sh
?
Первая строка скрипта здесь не полезна, поскольку в Linux скрипты bash имеют следующую строку:
#!bin/sh
На самом деле, существует много дистрибутивов, где /bin/sh
есть bash (может быть, /bin/sh
ссылка на /bin/bash
эти дистрибутивы), а не Bourne Shell. Поэтому, если я попытаюсь запустить скрипт, написанный на bash, например, во FreeBSD, результат не будет определен, поскольку /bin/sh
во FreeBSD используется Bourne Shell, а не bash.
Есть ли простой способ определить, является ли скрипт bash или sh?
Есть ли какие-то отличительные черты в синтаксисе?