#!/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
;でも;サポートしていない可能性があります)。この警告を抑制する方法はありませんか?zsh
dash
busybox sh
mksh
ksh
csh
ベストアンサー1
type
はいPOSIXの一部ただし、X / Open Systems Interface Option(XSI)の一部です。マニュアルcheckbashisms
ページ明示的に
この文脈では、bashism の定義は「POSIX サポートを必要としないシェル機能」とほぼ同じです。これは、POSIXのオプションの部分(XSIやユーザーの移植性など)がいくつかの問題を受け入れることができることを意味します。
type
オプションの機能なので表示されます。
checkbashisms
スクリプトから特定の警告を削除する以外に、で特定の警告を無効にする方法がわかりません。