जवाबों:
history
में बनाया bash
अनुमति देता है फ़ाइल नाम निर्दिष्ट करने के साथ प्रयोग किया जब -anrw
झंडे, और -a
से झंडा वर्णन help history
कहता है:
इस सत्र से इतिहास फ़ाइल में इतिहास की पंक्तियाँ संलग्न करें
इसलिए, हम कर सकते हैं:
~$ history -a this_session.history
~$ cat ./this_session.history
history mysession.history
cat mysession.history
clear
history -a this_session.history
रिकॉर्ड के लिए, -w
(ओपियन फाइल करने के लिए इतिहास लिखें) पूरे इतिहास को निर्दिष्ट फ़ाइल में लिखता है , इसलिए -a
(अपेंड) यहाँ पसंदीदा विकल्प है।
अन्य मैनुअल तरीके हैं। विशेष रूप से ksh
नहीं है -a
के रूप में ध्वज bash
करता है, लेकिन क्या ksh
और mksh
क्या है HISTFILE
(और वातावरण चर bash
क्योंकि, वह भी है, bash
शामिल की बहुत सारी ksh
सुविधाओं); वैसे, डिफ़ॉल्ट रूप से यह चर सेट नहीं किया गया है (कम से कम mksh
उबंटू ने इसे सेट नहीं किया है)। इसलिए, वर्तमान सत्र को अन्य फ़ाइल में आउटपुट करने के लिए, हम HISTFILE
कमांड को प्रीपेल्ड करते हैं, जो शेल सिंटैक्स में है जिसका अर्थ है कि आपके द्वारा निर्दिष्ट अतिरिक्त पर्यावरण चर के साथ रनिंग कमांड। इस तरह:
bash-4.4$ HISTFILE='mykshfile.hist' ksh
$ echo 'Hello'
Hello
$ echo 'World'
World
$
bash-4.4$ cat ./mykshfile.hist
�echo 'Hello'
echo 'World'
आप इससे जो कुछ भी देख सकते हैं, वह यह है कि ksh
इसके और संबंधित गोले इतिहास को विशेष वर्णों के साथ बनाते हैं, बजाय सादे पाठ के कि bash
यह क्या करता है। तो, आप उस फ़ाइल को खोलना चाहते हैं ksh
।
जहां तक उबंटू पर पोसिक्स /bin/sh
शेल , जो डेबियन अल्मक्विस्ट शेल या डैश है, वहां fc
बिल्ट-इन मौजूद है । हालाँकि, उबंटू डैश बिना लिब-एड के संकलित है , जो उबंटू डेवलपर्स द्वारा प्रदर्शन के कारणों के लिए एक सचेत विकल्प है, इसलिए fc
और अन्य मोड जिन्हें लाइन एडिटिंग की आवश्यकता होती है, वे बॉक्स से बाहर काम नहीं करते हैं (जब तक कि dash
खुद को पुनः स्थापित और स्थापित न करें lib-edit
)।
शेल तटस्थ तरीके आपके सत्र को मौजूदा टूल के साथ रिकॉर्ड करने या प्रति-कमांड के आधार पर रिकॉर्ड करने के लिए अपना स्वयं का फ़ंक्शन लिखने के लिए होगा।