- ベストアンサー
case文で困っています。
こんにちは! 当方Linux初心者です。 現在、シェルを作成しているのですが思うように表示されなくて 困っています。 どなたかご教授いただけないでしょうか? 目的:引数を「数字」か「それ以外」かを判別するシェルを作成 #!/bin/bash case $* in [0-9]+) echo "数字" ;; *) echo "その他" ;; esac 上記のように作成したところ、全てその他と判別してしまいます。 宜しくお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
後は自分で調べてね。 #! /bin/bash shopt -s extglob case $1 in [0-9]) echo "数字";; [0-9]+([0-9])) echo "数字";; *) echo "数字以外";; esac
その他の回答 (1)
- entree
- ベストアンサー率55% (405/735)
回答No.2
デフォルトの状態だと + は展開されなかったように思います。 なので、 [0-9][0-9]*) と書く必要があるでしょう。 もちろん、No.1 の方が回答されているように extglob を有効にしても構いません。 スクリプトの汎用性は下がってしまいますが・・・
質問者
お礼
お礼が遅くなりまして申し訳ありませんでした。 早急な回答有難うございました。
お礼
お礼が遅くなりまして申し訳ありませんでした。 早急な回答有難うございました。 今回の件は、回答を参考にさせて頂いた所解決に至りました。 今後も勉強させて頂きます。