- - PR -
shにおけるperlの戻り値
1
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 2003-10-28 10:53
こんにちは。
shにおける戻り値の受け取り方で質問があります。 下記のようなソースで、 実際にperlから「exit 2;」で戻り値を返しています。 ---ソース START--- $/home/xxx/***.pl ***.tsv if [ $? -eq 2 ]; then log fi ---ソース END--- しかし、ifの中に処理が入ってくれません。 $?で戻り値を受け取れると本で確認したのですが、 何か受け取り方に問題があるでしょうか? どなたかご教授下さい。 よろしくお願いします。 |
|
投稿日時: 2003-10-28 12:03
追伸です。
「echo $?」を確認すると、なぜか0になっています。 この時点でおかしいということでしょうか? それとも受け取り方でしょうか? ご教授お願いします。 |
|
投稿日時: 2003-10-28 17:47
exitではなく、dieを使うことで解決しました。
勉強不足でした・・・。 |
|
投稿日時: 2003-10-28 17:46
localhost$ cat tmp.pl
#!/usr/bin/perl exit 2; --------------------------------------------- localhost$ cat tmp.sh #!/bin/sh ./tmp.pl if [ $? -eq 2 ]; then echo 2 fi exit -------------------------------------------- localhost$ ./tmp.sh 2 localhost$ いや、うちの環境じゃちゃんと 2 が出てますな・・・ |
1
