2

たとえばgawk、標準にいくつかの拡張機能を使用したい。同時に、このオプションを使用したいのは、誤った可能性のあるデータを暗黙のうちに生成するよりも、プロセスを失敗させたいからです。しかし、私が理解していないことがあります:awkmktime()--lint=fatal

$ gawk --lint=fatal 'BEGIN { foo = mktime("2013 01 01 12 00 00"); }' 
gawk: cmd. line:1: fatal: `mktime' is a gawk extension

オプションまたは指定しなかったため、拡張子が存在するはずです。厳密度を下げると ( )、スクリプトが機能します。厳密なチェックを使用するには、拡張機能セットを使用していて、元の仕様との互換性がなくなったことを知っているなどのことを伝える必要がありますが、それで問題ありません。これどうやってするの?--posix--traditionalgawk--lint=warninggawkawk

4

2 に答える 2

2

これは、それ自体から行うことはできませんawkman gawkバージョン 4.1.0 以降、2013 年 5 月 9 日:

--lint[=値]

疑わしい、または他の AWK 実装に移植できない構造に関する警告を提供します。オプションの引数 fatal を指定すると、lint 警告は致命的なエラーになります。これは劇的かもしれませんが、これを使用することでよりクリーンな AWK プログラムの開発が促進されることは間違いありません。オプションの無効な引数を使用すると、実際に無効なものに関する警告のみが発行されます。(これはまだ完全には実装されていません。)

簡単なラッパー スクリプトを記述して解析stderrし、表示したい警告のみを表示することができます。

于 2013-05-25T13:50:12.530 に答える