私のプログラムを実行すると、次のエラーが発生します。
today.ksh[36]: test: 0403-004 Specify a parameter with this command.
sed: 0602-419 Cannot find or open file /home/tmp/filename.
today.ksh[37]: test: 0403-004 Specify a parameter with this command.
today.ksh[24]: test: 0403-021 A ] character is missing.
しかし、私は次の意味を理解できません。
- sed:0602-419 0602-419 どういう意味ですか?
Today.ksh[37] 37 とはどういう意味ですか?テスト:0403-004とはどういう意味ですか?
つまり、「Test:0403-004」などの数値範囲はどういう意味ですか? kshでデバッグするときにどのように役立ちますか?
答え1
AIXへようこそ。
IBM オペレーティング・システムの一般的な考え方は、システム・メッセージに識別英数字コードがあることです。メッセージは他の言語に翻訳できますが、コードは同じままです。 IBM文書には、通常、ユーザーがコードを介してこれらのメッセージを検索できるようにするリファレンスマニュアルがあります。
OS/2 および OS/400 では、コードは 3 文字形式を取ります。施設インジケーターと4桁の数字メッセージ番号。 (OS / 2ユーザーは同じ名前を覚えており、コマンドをSYS0002
使用してコマンドラインからこれらのコードを見つけることができます。)AIXでは、4ビットオペレーティングシステムの形式を取ります。help
helpmsg
要素数字と3桁の数字メッセージ番号。
したがって、0403-004は「範囲」ではありません。コンポーネント番号0403メッセージ番号004に対応するメッセージコード。部品0403はKorn Shellです。コンポーネント0602は、UNIXテキスト編集ツールのセットです:、、、vi
および。ex
ed
sed
awk
はい、AIXにはこれらのコードをすべてリストする大規模なリファレンスマニュアルがあります。
しかし、これは全くではありません。詳細メッセージ処理中。 (逆に、OS / 2ヘルプツールには、SYS
コマンドラインに表示されるほとんどのメッセージの詳細な説明と操作があります)。
- 0403-004: 変数拡張の周りに引用符を入れることを忘れた可能性が高いです。これにより、変数が設定されていないと拡張機能が空になり、誤ったコマンド構文が発生します
test
。 - 0403-021:コマンドで呼び出される場合は、
[
このコマンドの最後のパラメーターは必要です]
。通常、このエラーは]
最後の文字を単語自体として扱うことを忘れてしまったために発生します。
追加読書
- 「付録A.エラーメッセージの索引」。 AIX バージョン 4.3 メッセージのガイドおよび解説書。 IBM株式会社。 1997-10.