वहाँ (यानी हार्ड लिंक बनाने के लिए) बताने के cp
लिए एक रास्ता है --link
, लेकिन मैं अंतर-डिवाइस हार्डलिंक कोशिश कर रहा हूँ, जहां मामले में वापस आ गया? इंटर-डिवाइस लिंक संभव नहीं हैं और यह cp
विफल हो जाएगा।
मैं जो पूछ रहा हूं, वह इसलिए है क्योंकि मैं इस का उपयोग करना चाहूंगा GNUmakefile
और कुछ विवादास्पद और लंबे समय तक (या एक फ़ंक्शन, उस मामले के लिए) पर एक पठनीय कमांड लाइन पसंद करूंगा।
सवाल जीएनयू कोरुटिल्स (7.4 और 8.13) के लिए है।
नोट: अभी वर्कअराउंड कुछ ऐसा होगा (GNU रेसिपी सिंटैक्स):
cp -fl $^ $@ || cp -f $^ $@
यह निश्चित रूप से अंतर-डिवाइस लिंक के मामले में सहज त्रुटि संदेश देगा, हालांकि दूसरे cp
कॉल पर सफल रहा । इसके अलावा, फिर इसका विस्तार हो जाता है (स्रोत प्रपत्र सभी के बाद पठनीय दिखता है) यह अब भी पठनीय नहीं होगा।
$$
मेरे मामले में डबल बेशक है क्योंकि यह एक मैक्रो के अंदर है। और निश्चित रूप से मैं क्या उपयोग कर रहा हूं, इसकी एक भिन्नता है। लेकिन कम से कम मुझे इस तरह से पता है कि यह एक विकल्प के रूप में मौजूद नहीं है और मुझे अपना स्वयं का प्रदान करने की आवश्यकता है।