मैं find
चलाता हूं और कुछ प्रतीकात्मक लिंक एकत्र करने के लिए [ \(-L $F \) ]
के साथ परिणामों के माध्यम से पुन: प्रयास करता हूं।मैं कैसे पता लगा सकता हूं कि बैश में एक सिम्लिंक टूट गया है या नहीं?
मुझे आश्चर्य है कि इस परिदृश्य में लिंक टूटा हुआ है (एक गैर-मौजूद फ़ाइल को इंगित करता है) यह निर्धारित करने का एक आसान तरीका है।
यहाँ मेरी कोड है:
FILES=`find /target/ | grep -v '\.disabled$' | sort`
for F in $FILES; do
if [ -L $F ]; then
DO THINGS
fi
done
ध्यान दें कि अगर फ़ाइल मौजूद नहीं है तो कोड भी निष्पादित किया जाएगा। यह 'ढूंढ' के साथ ठीक है लेकिन अन्य परिस्थितियों में (जैसे ग्लब्स) को इस मामले को संभालने के लिए जोड़ा जाना चाहिए, उदाहरण के लिए '[-h "$ F" -a! -e "$ एफ"] '। – Calimo
आप वास्तव में इस दृष्टिकोण के साथ प्रतीकात्मक लिंक का परीक्षण नहीं कर रहे हैं। –
@ कैलिमो कोई फर्क नहीं पड़ता। – Melab