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.