ユーザーが指定したフォルダに書き込み専用ファイルを表示する方法

ユーザーが指定したフォルダに書き込み専用ファイルを表示する方法

ユーザーが選択したフォルダに入ることを可能にするスクリプトを作成しています。完了すると、スクリプトはルートディレクトリから始めてフォルダを検索し、「その他」カテゴリに対する書き込み権限のみを持つフォルダ内のすべてのファイルを表示します。これが私が今まで得たものです。私の問題は小さな検索オプションにあることを知っています。誰かが助けることができることを願っています。

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

おすすめ記事