2
私は現在、クラスの中でLinuxデバイスのシェルスクリプトを勉強しています。シンボリックリンクが空のフォルダを指しているかどうかを確認する方法
私は、空のフォルダを指し示すシンボリックリンクを見つけるシェルスクリプトを書くことを任されました。今度は最初の2つの部分は簡単です - 私は-type l
と-xtype d
のようなテストでfind
コマンドを使う方法を知っています。この問題は、フォルダ自体が空であるかどうかを調べることによって発生します。私は先生に尋ねましたが、私が持っているのはxargs
またはexec
の引数についての暗黙のヒントでした。私は実際に指示に従って使用することはできません。これまでのところ私のベスト・ベットは、findの結果をforループに投げて、各ループのリンクから取得するパスをテストすることですが、それはうまくいかないようです。これまでのところ、私のコードは次のようになっています:
for var in $`find $1/* -type l -xtype d -print`
do
if [ $`readlink -f $var` -empty ]
then
echo $`readlink -f $var`
fi
done
ご協力いただければ幸いです!
2番目の部分の意味はわかりませんが、そのマニュアルを読むことにします。最初の部分では、選択したディレクトリツリー内のすべてのシンボリックリンクを見つけるはずですが、シンボリックリンクが空のフォルダを指しているかどうかを '-type d -empty'で確認できますか? – DeadBrain
シンボリックリンクに関する完全な動作はhttps://www.gnu.org/software/findutils/manual/html_mono/find.html#Symbolic-Linksにありますが、私はそれが何をしているのか完全にはわからないことを認めます。 –