Вы просили поправить вас, когда вы были неправы. я попробую:
bash
, другие для dash
и, надеюсь, их можно будет использовать в любой POSIX -совместимой оболочке. bash
функции, настоятельно рекомендуется иметь #!/bin/bash
shebang dash
или mksh
в Debian. sh
реализаций. Какой из них "верный"? Во FreeBSD sh
основан на оболочке Almquist, такой как dash
или NetBSD sh
. В OpenBSD он основан на pdksh
, во многих коммерческих Unices он основан на ksh88 (, который является основой для спецификации Unix/POSIX sh
). Некоторые оболочки на основеksh88
-и bash
являются единственными двумя оболочками, которые были сертифицированы как совместимые с Unix sh
реализации (при сборке с правильными флагами и в правильной среде ). Если у вас есть скрипты с /bin/sh
shebang и вы хотите, чтобы они выполнялись с помощью zsh
, вы можете попробовать передать скрипт zsh
, но это не удастся, как только этот скрипт вызовет другой скрипт (и вы не хочу его изменять ).
Так что я вижу только возможность иметь символическую ссылку с /bin/sh
на ваш zsh
. Но я не рекомендую делать это , так как это может сильно повлиять на время загрузки и даже не поможет вам для некоторых ваших скриптов Linux.
В семействе Fedora/RHEL/CentOS вы можете использовать:
cat /etc/*-release
Это даст вам точную версию.
Как root, вы также можете установить redhat-lsb-core
и использовать:
lsb_release -a