• ベストアンサー

シェルスクリプトで「ディレクトリが存在したら~する」の表現は?

unixのシェルについて質問です。 「ディレクトリaaa配下に任意のディレクトリ(ファイルではなく何かしらのディレクトリ)が在ったらpwdする」 という条件式はどう書いたらよいのでしょうか? イメージとしては以下しか浮ばないんですが間違ってますよね… すみません、よろしくお願いいたします。 if [ -d aaa/*] then  pwd fi

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

  • ベストアンサー
  • koko_u_
  • ベストアンサー率18% (459/2509)
回答No.1

for ループなどを使用して、そのディレクトリにあるすべてのファイルを -d $file で聞いてまわれば良いのでは? シェルの種類を書くと、誰かがサンプルを回答してくれるかもよ。

noname#249638
質問者

お礼

そうでしたね!解決しました! ありがとうございました!

その他の回答 (2)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.3

時間をかけていいなら find aaa -type d |grep aaa/. で出力を捨てればいいかも. GNU find なら -maxdepth/-mindepth でもっと速くできます. あとは #1 のように for でまわして -d かな.

noname#249638
質問者

お礼

#1さんのやり方で解決いたしました!ご回答ありがとうございました!

  • a-saitoh
  • ベストアンサー率30% (524/1722)
回答No.2

unixというのは具体的には何ですか? それとも、全てのUNIXで通用する方法が欲しいんですか? もしかして、linux(linuxはUNIXではありません)での解決法ですか?

noname#249638
質問者

お礼

解決いたしました!ご回答ありがとうございました!