kshスクリプトで構文エラーを確認するには?

kshスクリプトで構文エラーを確認するには?
$ cat foo.sh 
#!/bin/ksh

echo foo
ehco foo2

エラーについて警告しません。

$ /bin/ksh -n foo.sh 
$ echo $?
0

質問:「ksh -n」が構文エラーについて警告するようにするにはどうすればよいですか?

ベストアンサー1

これは実際の ksh 構文の構文エラーではなく、実行時にのみ検出される無効なコマンド名の構文エラーです。実行すると、コマンドが見つからないというエラーが発生します。

追加する場合:

echo foo                                                                        
ehco foo2

if [ 1 -lt 0 ]                                                                  
then                                                                            
    echo 123                                                                    
done                                                                            

次に、次を実行します。

$ ksh -n foo.sh 
foo.sh: syntax error at line 9: `done' unexpected

おすすめ記事