यदि आप history
किसी स्क्रिप्ट में एक सक्रिय शेल सत्र से कमांड के आउटपुट का उपयोग करना चाहते हैं , तो आप पहले कमांड को चलाने के लिए अन्य उपनाम का उपयोग कर सकते हैं। फिर, उसी उपनाम में, आप शेष स्क्रिप्ट को कॉल कर सकते हैं। इस तरह के कॉन्फ़िगरेशन के साथ, आप history
वास्तविक स्क्रिप्ट में कमांड के रूप में अनिवार्य रूप से एक ही परिणाम प्राप्त कर सकते हैं ।
उदाहरण के लिए, आप इस तरह से एक उपनाम बना सकते हैं, स्क्रिप्ट का नाम स्क्रिप्ट है।
alias hy_tmp='history | tail -100 > /tmp/history.log ; bash /patch/to/script.sh'
और स्क्रिप्ट को इसमें बदलें:
#!/bin/bash
cd /tmp
uuencode history.log history.txt | mail -s "History log of server" hello@hel.com
~/bash_history
दो कंप्यूटरों पर फ़ाइलों को मिलाने, क्रमबद्ध करने और सिंक्रनाइज़ करने की प्रक्रिया लिखते समय मुझे यह प्रश्न मिला, इसलिए मैंने अतीत में उपयोग की गई कमांडों को खोजना आसान होगा।
अपडेट किए जाने के लिए एक नए शेल में लॉग किए बिना मेरी संचयी इतिहास फ़ाइल को अपडेट करने की परेशानी बहुत कम है ~/bash_history
। एक सर्वर की निगरानी के लिए यह स्पष्ट रूप से काम नहीं करेगा, जैसा कि अन्य उत्तरों में बताया गया है।
विशेष रूप से मेरा उपयोग है:
alias hbye='history | cut -c 8- > /home/chris/.bash_history_c; bash /hby.sh
स्क्रिप्ट hby.sh
तब सभी ~/.bash_history*
फ़ाइलों से सभी अद्वितीय प्रविष्टियों को खींचती है ।
histtest.sh: 5: set: Illegal option -o history