बैश इतिहास नहीं रखता है


19

मैं Ubuntu 12.04 चलाता हूं, और किसी कारण से बैश मेरी कमांड इतिहास नहीं रखता है। ~/.bash_historyफ़ाइल केवल 3 आदेशों कि मैं कुछ महीने पहले टाइप किया होता है।

मैं इसे कैसे ठीक करूं?

संपादित करें: यहाँ की प्रासंगिक सामग्री मेरी है .bashrc:

# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples

# If not running interactively, don't do anything
[ -z "$PS1" ] && return

# don't put duplicate lines or lines starting with space in the history.
# See bash(1) for more options
HISTCONTROL=ignoreboth

# append to the history file, don't overwrite it
shopt -s histappend

# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
HISTSIZE=1000
HISTFILESIZE=2000

में अपने बैश इतिहास सेटिंग्स की जाँच करें .bashrc
jokerdino

@ जोकरडिनो थैक्स, मैंने प्रश्न संपादित किया। यह मानक सेटिंग्स है (मैंने उन्हें नहीं छुआ)।
yohbs

"इको $ शेल" का आउटपुट क्या है?
एरोन

@ BryceAtNetwork23/bin/bash
योहब्स

3
कोशिश करने के लिए एक और चीज है~/.bash_history
reverendj1

जवाबों:


24

यह भी हो सकता है कि रूट: रूट आपके पास .bash_history ( रूट SHOULD N'T ही होना चाहिए, आपका उपयोगकर्ता OWNER! ), उस स्थिति में आपको इसकी आवश्यकता है!

$chown user:user .bash_history

यह जाहिरा तौर पर जादुई हो सकता है जब आप sudo bash बहुत करते हैं!


वाह, मैं पूरी तरह से इस पर छोड़ दिया और इसके बारे में भूल गया ... +1 और स्वीकार करता हूं।
योहब्स १।

हाँ यह स्पष्ट रूप से होता है जब आप sudo bash बहुत करते हैं! :-)
महात्मनिच

2

मान लें कि आप सूक्ति-टर्मिनल का उपयोग कर रहे हैं ??, यदि ऐसा है तो शायद .bash_history पर अनुमतियों की जांच करें। यह होना चाहिए-rw-r--r--

एक टर्मिनल में ऐसा करने के लिए ls -la |grep .bash, सभी 3 फाइलों में उपरोक्त अनुमतियाँ होनी चाहिए। अन्यथा हटाने की कोशिश करें .bash_history, पुनरारंभ करें और देखें कि क्या इतिहास लिखा गया है

ध्यान दें कि टर्मिनल बंद होने या छोड़ने के बाद इतिहास केवल लिखा जाता है।


1

जैसा कि ऊपर टिप्पणी की गई है, यह रूट-> उपयोगकर्ता स्वामित्व परिवर्तनों के साथ तय किया जा सकता है। प्रारंभिक अनुमतियाँ -rw-r--r--या किसी अन्य भिन्नता और रूट स्वामित्व से हो सकती हैं ।

मेरे मामले में मेरे पास केवल .bash_historyरूट का स्वामित्व था, लेकिन यह सभी .bash_ * का है जो उपयोगकर्ता के स्वामित्व में होना चाहिए।


1
Ubuntu पूछने के लिए आपका स्वागत है :) यह एक 3 साल पुराना प्रश्न है और आपके द्वारा पहले से उल्लेखित समाधान एक और उत्तर में मौजूद है .. बस इसे वोट दें :)
तूफान
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.