たかはし@jbtです。 こんにちは。 set が成功しているようなので、 #! /bin/sh a=`getopt abc $*` echo $? set -- $a とかすればよさそうです。 Mon, Oct 23, 2000 at 08:37:58PM +0900 において OZAWA -Crouton- Sakuro さん曰く: > さくです。 > > シェルスクリプトでコマンドラインからオプションを与えたいとき、 > > set -- `getopt abc $*` > > などとしますが、これに不適切なもの(上だと -d とか)がまじっていることはどう > やったら検出できるでしょうか? > > そんなの $? を見れば簡単だ、と思っていたのですが、 > > $ cat test.sh > #!/bin/sh > > set -- `getopt abc $*` > echo $? > > $ ./test.sh -d > getopt: invalid option -- d > 0 > > となります。 > > getopt(util-linux中のもの)自体はエラー時に $? に 1 を設定しているのですが、 > setの次の行で $? を調べても、既にsetコマンドのステータス値(どうやら常に成 > 功:0)が入ってしまっているようです。 > > どうするのがよいでしょうか? ------ Yuichi TAKAHASHI(yuichi _at_ jbt.co.jp)
Follow-Ups:
- [linux-users:75050] RE: getopt(1)のinvalid option検出OZAWA -Crouton- Sakuro
- [linux-users:75048] getopt(1)のinvalid option検出OZAWA -Crouton- Sakuro
- Prev by Subject: [linux-users:75048] getopt(1)のinvalid option検出
- Next by Subject: [linux-users:75050] RE: getopt(1)のinvalid option検出
- Previous by thread: [linux-users:75048] getopt(1)のinvalid option検出
- Next by thread: [linux-users:75050] RE: getopt(1)のinvalid option検出
- Indexes:[Main][Thread]