Баш не зберігає історію


19

Я запускаю Ubuntu 12.04, і чомусь bash не зберігає історію моїх команд. ~/.bash_historyфайл містить тільки три команди , які я надрукував кілька місяців тому.

Як я можу це виправити?

EDIT: ось відповідний вміст мого .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

@jokerdino thx, я змінив питання. Це стандартні налаштування (я їх не торкався).
йог

Який вихід "echo $ SHELL"?
Аарон

@ BryceAtNetwork23/bin/bash
yohbs

3
Інша справа, щоб спробувати перевірити дозволи на~/.bash_history
reverendj1

Відповіді:


24

Це може бути і цей корінь: root володіє вашою .bash_history ( корінь повинен бути власником, ваш користувач повинен бути власником ! ), У цьому випадку вам потрібно:

$chown user:user .bash_history

Це, мабуть, може статися магічно, коли ти дуже багато балуєшся!


Нічого собі, я повністю відмовився від цього і забув про це ... +1 і прийняти.
йобс

Так, це, мабуть, трапляється, коли ти багато балуєшся! :-)
mahatmanich

2

Якщо припустимо, що ви використовуєте gnome-terminal ??, якщо так, можливо, перевірте дозволи на .bash_history. Вона повинна бути-rw-r--r--

Для цього в терміналі ls -la |grep .bashвсі 3 файли повинні мати вищевказані дозволи. Інакше спробуйте видалити .bash_history, перезапустіть і подивіться, чи записується історія

Зауважте, що історія записується лише після закриття або закриття терміналу.


1

Як зазначалося вище, це можна виправити за допомогою змін власності root-> користувача. Початкові дозволи можуть бути від -rw-r--r--будь-якої іншої зміни та права власності на root.

У моєму випадку я мав лише .bash_historyвласність root, але всі .bash_ * повинні бути власниками користувача.


1
Ласкаво просимо задати ubuntu :) На це питання, відповів 3 роки, і рішення, яке ви згадали, вже є в іншій відповіді .. просто проголосуйте :)
шторм
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.