• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:UNIXシェルプログラミング、初級質問)

UNIXシェルプログラミングの勉強中|メニュープログラム作成時につまづいています

このQ&Aのポイント
  • UNIXシェルプログラミングの初心者が、メニュープログラム作成でつまづいています。
  • 具体的には、新しいディレクトリを作成するという処理で、既存ディレクトリの確認やユーザーへの警告が必要です。
  • 乏しい知識から作成したコードになりますが、ディレクトリの作成まではできています。

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.3

ちょこっとエラー制御いれてこんな感じで・・・ #!/bin/sh echo -n "dirname ? "; read dir if [ -z $dir ] ; then $0; elif [ -f $dir -o -d $dir ] ; then echo "ng"; else mkdir $dir; echo "ok"; fi

noname#85447
質問者

お礼

教えていただいたのを拝見して、それぞれの制御文のオプションが自分の課題だなーと思いました。コツコツ調べて自分のものにしていきたいと思います。 ありがとうございました!

その他の回答 (3)

  • OKwebb
  • ベストアンサー率44% (92/208)
回答No.4

一般ファイルでもエラーになると思いますので ------------------------------------------- if [ -f $newdir ]; then 警告処理 exit 1 else mkdir $newdir echo "$newdirを作成しました。" fi exit 0 ------------------------------------------- な感じで

noname#85447
質問者

お礼

シンプルでわかりやすい回答をいただき、助かりました。exitは習っていないので、調べて使えるようにしたいと思います。 ありがとうございました!

  • tormmy77
  • ベストアンサー率44% (4/9)
回答No.2

存在チェックだけならこんなかんじ。 警告も出すならelseすればいい。 ググればこれくらいはたくさん出てくるぞー がんばれ!学生! if [ ! -d 作るディレクトリ ]; then mkdir 作るディレクトリ fi

noname#85447
質問者

お礼

目が疲れるまでググったんですが、なかなか「これ!」と思えるような検索結果にたどり着けず・・・。要するにまだシェルプログラミングをしっかり理解できていないんですね(-_-;)。 コマンドそれぞれは使えるんですが、それがシェルの制御文の中に入るとパニック状態です。 教えていただいたものを元に、がんばります!ありがとうございました。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

>存在していたらユーザーに警告 あってもなくても強制的に実行という考えはないのでしょうか? また、カレントの属性によっては書き込みができずにエラー が出る可能性もありますが、エラーチェックはどこまで 厳密にしたいのでしょうか? 入力された文字の整合性をバリデートする必要はないのでしょうか?

noname#85447
質問者

補足

存在していたら「そのディレクトリはすでに存在します。新しく別のディレクトリを作成してください」というようなメッセージとともに、新ディレクトリ名の入力を促す方向でいきたいです。 学校の課題なのですが、エラーチェックは必ずせよという以外には何の指示もないので、さほど厳密なものでなくていいようです。整合性についても同様です。 なにしろたった2回の授業でプログラミングせよというので、途方に暮れています。どうぞよろしくお願いします。