जीएनयू बैश (या जीएनयू रीडलाइन) में सिंटैक्स हाइलाइटिंग प्राप्त करने का कोई सरल तरीका नहीं है , लेकिन यह बिलियन कमांड का उपयोग करके शेल कार्यों के लिए सभी उपयोगकर्ता इनपुट को बाइंड करके स्क्रिप्ट में अपने स्वयं के लाइन एडिटर को लागू करना संभव है bind -x 'BYTE: SHELL-COMMAND'
। अपने स्वयं के पंक्ति संपादक में वाक्य रचना हाइलाइटिंग की सुविधा को एकीकृत करना संभव है।
वास्तव में मैंने ble.sh
वाक्य रचना हाइलाइटिंग और ऑटो-सुझाव जैसी सुविधाओं के साथ एक लाइन संपादक लागू किया । यह बैश 3.0--5.0 को सपोर्ट करता है। चूँकि यह (लगभग) शुद्ध बैश लिपियों में लिखा गया है, आप केवल source
लिपि में लिख सकते हैं ~/.bashrc
। यहाँ ble.sh
bashrc में सेटअप करने के लिए एक नमूना है ( विवरण के लिए README देखें):
$ git clone https://github.com/akinomyoga/ble.sh.git
$ cd ble.sh
$ make
$ make INSDIR="$HOME/.local/share/blesh" install
# bashrc
# Add the following line at the beginning of bashrc
[[ $- == *i* ]] &&
source "$HOME/.local/share/blesh/ble.sh" --attach=none
# ... other bashrc settings ...
# Add the following line at the end of bashrc
((_ble_bash)) && ble-attach
नोट : मुझे पता है कि कभी-कभी स्वयं के उत्पादों के लिंक के साथ प्रश्नों का उत्तर देना आत्म-प्रचार और अविश्वसनीय माना जाता है, इसलिए मैं इस प्रश्न का उत्तर देने से बचता रहा हूं। हालांकि, कोई अन्य समाधान लंबे समय तक दिखाई नहीं दिया, और इस सवाल में भी कई विचार हैं (जो इसकी महत्वपूर्ण मांग को दर्शाता है)। इसलिए मैंने आज इस सवाल का जवाब देने का फैसला किया। निम्नलिखित मेटा प्रश्नों / उत्तरों का उल्लेख करते हुए, मैंने पहले इस विचार का वर्णन किया और एक उदाहरण कार्यान्वयन के रूप में मेरी परियोजना के लिए एक लिंक प्रदान किया।
हां, मुझे यह स्वीकार करना होगा कि यह वास्तव में आत्म-प्रचार है , लेकिन मेरा मानना है कि यह उन लोगों की मदद करता है जो सुविधा चाहते हैं। यदि कोई समस्या है, तो मैं इसकी सराहना करूंगा यदि आप मुझे टिप्पणी द्वारा बता सकते हैं।