checkbashisms: "type"に何の問題がありますか?

checkbashisms:
#!/bin/sh

foo() {
   echo "in foo"
}

type foo

checkbashisms.plきっと嫌いなのにtypeなぜ?

$ checkbashisms.pl foo.sh
possible bashism in foo.sh line 7(type):
type foo

POSIXではありませんか?ただし、すべての汎用シェルはこれをサポートしています(例:、、、、bash;でも;サポートしていない可能性があります)。この警告を抑制する方法はありませんか?zshdashbusybox shmkshkshcsh

ベストアンサー1

typeはいPOSIXの一部ただし、X / Open Systems Interface Option(XSI)の一部です。マニュアルcheckbashismsページ明示的に

この文脈では、bashism の定義は「POSIX サポートを必要としないシェル機能」とほぼ同じです。これは、POSIXのオプションの部分(XSIやユーザーの移植性など)がいくつかの問題を受け入れることができることを意味します。

typeオプションの機能なので表示されます。

checkbashismsスクリプトから特定の警告を削除する以外に、で特定の警告を無効にする方法がわかりません。

おすすめ記事