検索ファイルを要求するスクリプトを作成したいとします。
だから、
echo "What file are you searching for?"
read filename
filepath=/test/dir1
file=$filename
for I in file
do
echo "$I"
find "$filepath" "$I"
done
これは、指定されたファイル名を継続的に検索しているように見えます。しかし、私は得る検索:ファイル:そのファイルまたはディレクトリはありません。
ベストアンサー1
まず、変数の値を取得するにはドル記号が必要ですfor I in file
。for I in $file
次の方法でスクリプトを変更します。
echo "What file names are you searching for?"
read files
filepath=/test/dir1
for f in $files
do
echo "$f"
find "$filepath"/"$f"
done
$file
私はfrom割り当てを削除し$filenames
、ユーザーがスペースで区切られた複数のファイル名を入力することを意図したと仮定しました。
find
次に、ディレクトリ名とファイル名を単一のスラッシュで区切って設定されたパスを渡しました。任意の深さでこのような名前のファイルを見つけるにはfind
"$filepath" -name "$f"
。