私はexamというフォルダを持っています。このフォルダには、math、physics、englishという3つのフォルダがあります。これらのフォルダには、すべてサブフォルダとファイルがあります。私はすべてのフォルダを通り抜け、すべてのフォルダとファイルのパスをファイルと呼ばれる別のファイルに出力したい。/フォルダ内のすべてのファイルをトラバースするにはどうすればよいですか?
/ホーム/学校/受験/数学
/ホーム/学校/受験/物理
/家庭:
#!/bin/bash
LOC="/home/school/exam/*"
{
for f in $LOC
do
echo $f
done
} > "files"
私が手に出口がある:私はこれをやりました学校/試験/英語
私はコードを訪問する方法を理解することはできませんし、試験のサブフォルダに同じことを行う。助言がありますか?
PS私はシェルスクリプトの初心者です。
これは機能しています。しかし、今私はそれを考えると、私はチームの一員としてこのスクリプトをやっているし、チームの誰もが試験フォルダのための別のパスを持っているので、私はそれが動作するとは思わない。これをどのように修正できますか?私はfind */exam -print>ファイルを試しましたが、そのようなファイルやディレクトリはありません。 – captain
私はfind〜/ exam -print>ファイルに変更して動作します。しかし、それは確かに試験フォルダを持っている他のコンピュータで動作するでしょうか? – captain
あなたの質問が分かっていれば、試験ディレクトリの親を作業ディレクトリにして、 'find -print> files'ファイルを探してください。 '〜/ exam'を使うのは、ホームディレクトリに' exam'ディレクトリがある人だけです。 –