Bash रिलीज में कई तर्कों के साथ सीडी का अलग व्यवहार


14

इसे यहाँ पोस्ट करना जो मुझे हैरान कर रहा है; जेसी से स्ट्रैच में एक एप्लिकेशन सर्वर को अपग्रेड करके एक bashस्क्रिप्ट को तोड़ दिया ।

जांच करने पर, हमने इसे cdकमांड के व्यवहार में बदलाव के लिए सीमित कर दिया । मैं यहां चर्चा नहीं कर रहा हूं कि क्या पटकथा कर रही है एक अच्छा विचार है, या अगर इसमें सुधार किया जा सकता है, मैं सिर्फ एक व्यवहार परिवर्तन / परिवर्तन मानसिकता के बारे में जागरूकता पर ध्यान केंद्रित कर रहा हूं।

जेसी

$echo *-*
xxxx-1.0b xxxx-run
$cd *-*

सीडी काम करता है और पहली निर्देशिका के लिए सीडी; वास्तव में * -run उसी निर्देशिका की एक प्रतीकात्मक कड़ी है।

खिंचाव

$echo *-*
xxxx-1.0b xxxx-run
$cd *-*
bash: cd: too many arguments

bash जेसी में 4.3.30 (1) और स्ट्रेच में 4.4.12 (1) है।

जेसी और स्ट्रेच के बीच व्यवहार में बदलाव क्यों?


2
इसके अलावा: askubuntu.com/q/905832/158442
— मुरु

जवाबों:


23

विशेषकर बैश 4.4 के रिले नोट देखें

qq। Config-top.h में एक नया विकल्प है जो cdएक घातक त्रुटि के लिए कई निर्देशिका तर्क देता है ।

BTW, मुझे नहीं पता था। मैंने सिर्फ "बैश सीडी नंबर 4.4" के लिए गुगली की।


8
दिलचस्प। एक अच्छा बात यह है कि जब यह एक बचने की बग है चुपचाप अतिरिक्त तर्कों को त्यागने से बचता है।
— स्पेक्ट्रा्स

@spectras दिलचस्प टिप्पणी, जबकि मुझे संदेह था कि इसका मतलब सुरक्षा-वार हो सकता है, उस कोण से नहीं लग रहा था।
— रुई एफ रिबेरो
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.