特定のディレクトリから始まるシンボリックリンクの削除

特定のディレクトリから始まるシンボリックリンクの削除

プライベートスクリプトをインストールするための "install.sh"があります。

find /home/Steven -name '*.sh' -exec ln -s -t /usr/local/bin {} +

「install.sh」によって生成されたシンボリックリンクを削除する「uninstall.sh」を作成したいと思います。私はこれを書いた:

for z in /usr/local/bin/*
do
  if [ -h "$z" ]
  then rm "$z"
  fi
done

ただし、ターゲットが「/home/Steven」の下にあるシンボリックリンクだけでなく、すべてのシンボリックリンクも削除されます。

ベストアンサー1

GNUまたはBSDがある場合は、find次のようにします。

find -lname '/home/Steven/*' -delete

おすすめ記事