ユーザーが選択したフォルダに入ることを可能にするスクリプトを作成しています。完了すると、スクリプトはルートディレクトリから始めてフォルダを検索し、「その他」カテゴリに対する書き込み権限のみを持つフォルダ内のすべてのファイルを表示します。これが私が今まで得たものです。私の問題は小さな検索オプションにあることを知っています。誰かが助けることができることを願っています。
echo -e "Enter a Folder Name Below\n"
read foldername
answer=$(find -prm -o+w / -name $foldername 2>/dev/null)
if [ "$answer" = "" ]
then
clear
echo -e "\n\n That Was Bad Input"
else
clear
ls -l $answer
fi
read pause
ベストアンサー1
スクリプトにはいくつかの改善が必要です。変数を引用するのは良い"$folder"
習慣です"$answer"
。-z
空/空でない文字列をテストするには、スクリプトでおよびを使用する必要があります。特に、スラッシュ付きの入力を読み取るときに-n
これを使用するのが最善です。read -r
また、findコマンドでパラメータの順序を変更する必要があります。wholename
シェルに応じてname
。
#!/bin/bash
echo -e "Enter a Folder Name Below\n"
read -r foldername
answer=$(find / -type d -perm /o+w -wholename "$foldername" 2>/dev/null)
if [ -z "$answer" ]
then
clear
echo -e "\n\n That Was Bad Input"
else
clear
ls -l "$answer"
fi
read pause