私はbashスクリプトを持っており、bashが必要です。shを使ってbashスクリプトを実行する
もう一人は
sh script_name.sh
でそれを実行しようとshのは、彼のディストリビューションにダッシュするシンボリックリンクがあるので、それは失敗します。
が#!/bin/sh
bash script_name.sh
目標は、ダッシュへのシンボリックリンクを持つシステムでのbashとshので.SHスクリプトを実行することです:
$ ls -la /bin/sh
lrwxrwxrwx 1 root root 4 Aug 25 16:06 /bin/sh -> dash
私はラッパースクリプトを使用するためのアイデアを持っています。
if [ "$BASH" != "/bin/bash" ]; then
echo "Please do ./$0"
exit 1
fi
以上の一般的な方法は$BASH_VERSION
を使用している:
if [ -z "$BASH_VERSION" ]; then
echo "Please do ./$0"
exit 1
fi
もし '。/ script_name.sh'だけすればどうなるでしょうか? – fedorqui
他のユーザーに 'bash script_name.sh'を実行させますか? - ラッパーも機能します。あなたの質問は何ですか? – John3136
スクリプトを表示する必要があります。あなたが望むのは、スクリプトがPosix 'sh'標準に厳密に従うようにスクリプトを変更することです。 –