シェルスクリプトで
「引数で指定したディレクトリを再帰的にチェックして空のディレクトリを削除する。引数を指定しなかった場合はカレントディレクトリを対象にする。空のディレクトリを発見したら、それぞれ削除するかしないかを問い合わせるようにする」
というコードを作成しております。見本のコードを見ながら作成しているのですが、
17行目の</dev/tty の意味が不明です。/dev/ttyを記載しない場合は削除メッセージの後にプロンプトが表示され上手くいきません。 ネットで調べてみましたが/を含む検索は中々調査が難しく、行き詰りましたため、どういう場合に記載するのか御教示いただけないでしょうか?
1 #!/bin/bash 2 3 if [ "$#" -ge 2 ];then 4 echo '引数を1つ指定してください。カウントディレクトリなら指定しないでくだ さい' 5 6 fi 7 8 DIR=${1:-"./"} 9 10 if [ ! -d "$DIR" ];then 11 echo 'ディレクトリは存在しません。' 12 exit 13 fi 14 15 find "$DIR" -type d -empty | while read EMPTY_DIR 16 do 17 rm -ri "$EMPTY_DIR" < /dev/tty 18 19 if [ ! "$?" -eq 0 ];then 20 echo "ディレクトリの削除に失敗しました:$EMPTY_DIR" 21 fi 22 doneコード

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/12/22 10:53