シェルスクリプトがbashまたはshで書かれていることを確認する方法

シェルスクリプトがbashまたはshで書かれていることを確認する方法

スクリプトがbashまたはで書かれているかどうかを確認するにはsh

Linuxでは、bashスクリプトに次の行があるため、スクリプトの最初の行はここでは役に立ちません。 #!bin/sh

実際、Bourne Shellではない/bin/shbash(おそらく/bin/shそのディストリビューションへのリンク)であるディストリビューションがたくさんあります。/bin/bashしたがって、FreeBSDでbashで書かれたスクリプトを実行しようとすると、結果は定義されません。 FreeBSD/bin/shではbashではなくBourne Shellだからです。

スクリプトがbashかshかを識別する簡単な方法はありますか?

文法に特異な点はありますか?

ベストアンサー1

実際、shebang行の意味は、一部のディストリビューション(Debianなど)ではbashbut 。/bin/shdash

シェルスクリプトがbashであることを確認する最も簡単な解決策は、次のものを使用することです。checkbashism- バラよりman checkbashismsもっと学ぶ。

checkbashismsdevscripts別のディストリビューションにパッケージする必要があります。 Debianの場合、Fedora devscripts-minimal(以前のrpmdevtools)とOpenSuSeパッケージにあります。rpmlint-mini

おすすめ記事