हर अब और फिर यह वास्तव में इसे क्रियान्वित किए बिना बैश के इतिहास में सीधे एक कमांड जोड़ने के लिए उपयोगी होगा। अब तक मैंने जो बंद चीज पाई है #
, वह उसके सामने जोड़ रहा है और रिटर्न मार रहा है। क्या बेहतर तरीके हैं?
हर अब और फिर यह वास्तव में इसे क्रियान्वित किए बिना बैश के इतिहास में सीधे एक कमांड जोड़ने के लिए उपयोगी होगा। अब तक मैंने जो बंद चीज पाई है #
, वह उसके सामने जोड़ रहा है और रिटर्न मार रहा है। क्या बेहतर तरीके हैं?
जवाबों:
history -s
आदेश
./resize-images.sh
जिसकी अंतिम पंक्ति परिवर्तनों को पूर्ववत करने के लिए एक कमांड को इंगित करती है, यह वास्तव में उपयोगी होगा यदि इसके बजाय स्क्रिप्ट मेरे इतिहास में कमांड जोड़ सकती है तो मुझे बस हिट करना है up-enter
अगर मुझे पूर्ववत करने की आवश्यकता है
history -s
आदेश
तुम भी आप के लिए यह करने के लिए एक कीस्ट्रोक बाँध सकते हैं। आप इसे बैश प्रॉम्प्ट पर दर्ज कर सकते हैं:
bind '"\C-q": "\C-a history -s \C-j"'
या इसे अपने में जोड़ें ~/.inputrc
:
"\C-q": "\C-a history -s \C-j"
तब आप कुछ लिख सकते हैं और दबा सकते हैं Ctrl- qऔर इसे बिना निष्पादित किए इतिहास में जोड़ दिया जाएगा। "इतिहास" से पहले का स्थान history
कमांड का कारण बनता है यदि इतिहास में आपके वैरिएबल को शामिल नहीं किया गया है या । एक और कीस्ट्रोक को "\ Cq" के बजाय चुना जा सकता है।HISTCONTROL
ignorespace
ignoreboth
एक वर्ण "कमांड" से कम कुछ भी साथ आना मुश्किल है, इसलिए हमें वास्तव में कीस्ट्रोक स्तर पर जाने की आवश्यकता है। मेरे बैश सेटअप और एक यूएस कीबोर्ड के साथ जो आप अब करते हैं:
#
(आवश्यकताएं SHIFT): +1 निर्देश, +2 कुंजीपटइसलिए कुल 3 निर्देशों में, 5 कुंजी।
ALT#1 निर्देश, 2 कीपेस में यही प्रयोग करता है।
YMMV आपके कीबोर्ड लेआउट और बैश कॉन्फ़िगरेशन पर निर्भर करता है।
#command
रास्ता से ज़्यादा तेज़ है history -s command
उपयोग करने के लिए बहुत आसान है, और यह भी अगर आप मैप history-search-backward/-forward
ठीक से। लेकिन यह स्वाद की बात है।