बैश 5 में नया क्या होने वाला है


29

मैं सिर्फ आधिकारिक बैश भंडार के माध्यम से जा रहा था (मैं आमतौर पर ऐसा नहीं करता) कुछ असंबंधित के लिए, लेकिन ध्यान दें कि बैश 5 पहले से ही बीटा में था। मैं बस के बारे में उत्सुक था कि क्या 5 bash में नया होने जा रहा है, लेकिन कोई जानकारी नहीं मिली। क्या कोई बैश के 4.4 और 5 संस्करण के बीच के परिवर्तनों को संक्षेप में बता सकता है


6
यह CHANGESफ़ाइल में वहीं है: git.savannah.gnu.org/cgit/bash.git/tree/…
muru

जवाबों:


21

स्रोत वितरण में फ़ाइल में bashरिलीज़ 4.4 और 5.0 (रिलीज़ 2019-01-07) के बीच किए गए परिवर्तन मिल सकते हैं ।NEWSbash

यहाँ इसकी एक कड़ी है (परिवर्तन यहाँ सूचीबद्ध करने के लिए बहुत सारे हैं)।


एक संक्षिप्त दृश्य शब्द दर्शाता है loadable builtins। क्या हमेशा निर्मित प्राथमिकता देने के बजाय संवर्धित निर्मितियों को खोजने के लिए bashनिर्धारित नए मानक का पालन करता है ? ksh93PATH
शास्त्री

@ सामान्य रूप से bash4.4 और बाद में उपयोग करता है BASH_LOADABLES_PATHऔर उन्हें वहां से लोड करता है enable -f builtin-name
Kusalananda

खैर, यह उस समय पर लागू होता है जब कमांड लोड होता है। पिछले समय के बारे में क्या? कमांड के enableपुन: क्रियान्वयन की तरह दिखता है, लेकिन यह प्रत्येक अंतर्निहित कमांड के लिए एक पथ को जोड़ने की सुविधा को याद करता है, जो आमतौर पर पूर्वनिर्धारित होता है और सभी buiiltins पर एक अच्छा दानेदार नियंत्रण रखने की अनुमति देता है। ksh93builtinksh93/usr/ast/bin/<name>
स्किल

@ कुसलानंद मैं एक नया बैश 5.0
अंकुर लोरिया

@AnkurLoriya आप तब तक प्रतीक्षा करते हैं जब तक आप यूनिक्स वितरक इसे पैकेज के रूप में शिप नहीं करते हैं, या आप इसे स्वयं स्रोतों से संकलित करते हैं। स्रोत और स्थापना निर्देश GNU बैश पेज पर उपलब्ध हैं ।
Kusalananda

14

यदि आप, मेरी तरह, पूर्ण चैंज के बजाय शीर्षक सुविधाओं की तलाश कर रहे हैं, तो अनुरक्षक चेत रमी द्वारा यह पोस्ट उस पर जाती है। यहाँ दिलचस्प अनुभाग है:

यह रिलीज़ बैश-4.4 में कई बकाया बग को ठीक करता है और कई नई सुविधाओं को पेश करता है। सबसे महत्वपूर्ण बग फिक्स नामरेफ चर का समाधान और संभावित आउट-ऑफ-बाउंड मेमोरी त्रुटियों की एक संख्या है जो फ़ज़िंग के माध्यम से खोज की गई है। विभिन्न संदर्भों में $ @ और $ * के विस्तार के लिए कई परिवर्तन हुए हैं, जहां शब्द विभाजन को एक पॉज़िक्स मानक व्याख्या के अनुरूप नहीं किया गया है, और पॉज़िक्स अनुरूपता के लिए कोने के मामलों को हल करने के लिए अतिरिक्त परिवर्तन किए गए हैं।

सबसे उल्लेखनीय नई विशेषताएं कई नए शेल चर हैं: BASH_ARGV0, SubscribeSECONDS, और VERREVTIME। `इतिहास 'का निर्माण इतिहास प्रविष्टियों की श्रेणी को हटा सकता है और इतिहास सूची के अंत से नकारात्मक तर्क को समझता है। स्थानीय चर को पूर्ववर्ती क्षेत्र में समान नाम के साथ एक चर का मान प्राप्त करने की अनुमति देने का विकल्प है। एक नया शेल विकल्प है, जब सक्षम किया जाता है, तो शेल केवल एक बार साहचर्य सरणी सदस्यता का विस्तार करने का प्रयास करने का कारण बनता है (यह एक मुद्दा है जब उन्हें अंकगणितीय अभिव्यक्तियों में उपयोग किया जाता है)। 'Globasciiranges' शेल विकल्प अब डिफ़ॉल्ट रूप से सक्षम है; यह कॉन्फ़िगरेशन समय पर डिफ़ॉल्ट रूप से बंद करने के लिए सेट किया जा सकता है।

Bash-4.4 और bash-5.0 के बीच कुछ असंगत परिवर्तन हैं। नामेरेव चर का समाधान कैसे किया जाता है इसका मतलब है कि नामरेफ़्स के कुछ उपयोग अलग तरीके से व्यवहार करेंगे, हालांकि मैंने संगतता मुद्दों को कम करने की कोशिश की है। यदि डिबगिंग मोड सक्षम है, तो शेल केवल BASH_ARGC और BASH_ARGV को स्टार्टअप पर सेट करता है; यह एक निरीक्षण था कि यह बिना शर्त के सेट किया गया था और प्रदर्शन के मुद्दों का कारण बना जब लिपियों को बड़ी संख्या में तर्क दिए गए थे।

यदि आप अधिक चाहते हैं, तो वह इन दो फाइलों को भी संदर्भित करता है:


5

`इतिहास 'का निर्माण इतिहास प्रविष्टियों की श्रेणी को हटा सकता है और इतिहास सूची के अंत से नकारात्मक तर्क को समझता है।

एक श्रेणी को हटाने पर उदाहरण:

history -d 123-130

या अंतिम 10 को हटाना:

history -d -10--1

बैश 5 मैन पेज का अंश :

'इतिहास'

विकल्प, अगर आपूर्ति की जाती है, तो निम्न अर्थ हैं:

'-d OFFSET' OFFSET की स्थिति में इतिहास प्रविष्टि हटाएं। यदि OFFSET सकारात्मक है, तो इसे निर्दिष्ट किया जाना चाहिए क्योंकि यह तब प्रदर्शित होता है जब इतिहास प्रदर्शित होता है। यदि OFFSET नकारात्मक है, तो इसे अंतिम इतिहास की स्थिति से एक से अधिक के सापेक्ष समझा जाता है, इसलिए नकारात्मक सूचकांक इतिहास के अंत से वापस आते हैं, और '-1' का एक सूचकांक वर्तमान 'इतिहास-डी' कमांड को संदर्भित करता है।

'-d START-END' समावेशी पदों के बीच की इतिहास प्रविष्टियों को हटाएं, समावेशी हैं। START और END के लिए सकारात्मक और नकारात्मक मानों की व्याख्या ऊपर दी गई है।

मेरा संबंधित उत्तर देखें: बैश इतिहास की एक श्रेणी हटाएं

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.