if (-e "$ENV{MYHOME}/link") {
system("rm $ENV{MYHOME}/link");
}
यह कोड यह जांचने के लिए किया जा रहा है कि एक सिम्लिंक मौजूद है या नहीं और इसे हटा दें।पर्ल का उपयोग करते हुए, यदि यह मौजूद है तो सिमलिंक को कैसे जांचें और हटाएं?
मैं एक बग ट्रैक कर रहा हूं जहां यह कोड काम नहीं करता है। मैं अब तक इसे समझने में सक्षम नहीं हूं, लेकिन क्या हो रहा है यह है कि यह कोड सिम्लिंक को हटाने में असमर्थ है, जिसके परिणामस्वरूप लाइन के नीचे 'फ़ाइल मौजूद है' त्रुटि होती है।
मैं यह जांचना चाहता था कि इस तकनीक के साथ कुछ मौलिक दोष है या नहीं? मैंने के बारे में भी पढ़ा है लेकिन कुछ कारणों से वर्तमान दृष्टिकोण की सिफारिश नहीं की जानी चाहिए?
'-l' जांचता है कि फ़ाइल सिमलिंक या हार्ड लिंक है या नहीं? अथवा दोनों? – mask8
@ mask8 - '-l' यह सही होता है यदि पथ एक सिम्लिंक है। हार्ड लिंक्ड फाइलें नियमित फाइलों के रूप में दिखाई देती हैं, जहां एकमात्र अंतर उनकी लिंक गिनती है (स्टेटस से 'st_nlink') एक से अधिक है। लिनक्स/यूनिक्स में निर्देशिकाओं को मुश्किल से जोड़ा नहीं जा सकता है। – unpythonic