V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
gyzit
V2EX  ›  macOS

关于 Mac 终端不能显示历史纪录的问题

  •  
  •   gyzit · 2015-10-13 20:13:15 +08:00 · 4868 次点击
    这是一个创建于 3143 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我根据网上教程把终端切换到 ZSH 后,想用回 Bash 。
    于是切换回 Bash 后,点击键盘上就再也不能显示之前的操作历史记录了。
    怎样做能恢复它的显示呢?
    PS :在终端未退出前的历史纪录是能看到的,但是退出终端后再打开就看不到之前的历史纪录了。
    谢谢~

    11 条回复    2015-10-13 21:12:52 +08:00
    kittyoung
        1
    kittyoung  
       2015-10-13 20:31:25 +08:00
    set|grep his
    gyzit
        2
    gyzit  
    OP
       2015-10-13 20:37:57 +08:00
    @kittyoung

    GuanYuzhesMBP:~ GuanYuzhe$ set|grep his
    HISTFILE=/Users/GuanYuzhe/.bash_sessions/8A86197D-6AEC-4434-AA70-287C19347466.historynew
    SHELLOPTS=braceexpand:emacs:hashall:histexpand:history:interactive-comments:monitor
    SHELL_SESSION_HISTFILE=/Users/GuanYuzhe/.bash_sessions/8A86197D-6AEC-4434-AA70-287C19347466.history
    SHELL_SESSION_HISTFILE_NEW=/Users/GuanYuzhe/.bash_sessions/8A86197D-6AEC-4434-AA70-287C19347466.historynew
    SHELL_SESSION_HISTFILE_SHARED=/Users/GuanYuzhe/.bash_history
    shell_session_history_allowed ()
    if shopt -q histappend; then
    shell_session_history_check ()
    if shell_session_history_allowed; then
    shell_session_history_enable;
    if [ "$PROMPT_COMMAND" = "shell_session_history_check" ]; then
    if [[ $PROMPT_COMMAND =~ (.*)(; *shell_session_history_check *| *shell_session_history_check *; *)(.*) ]]; then
    shell_session_history_enable ()
    shell_session_history_allowed && shell_session_save_history;
    shell_session_save_history ()
    shell_session_history_enable;
    history -a;
    echo -ne '\n...copying shared history...';
    echo -ne '\n...saving history...';
    echo -n 'truncating history files...';
    gyzit
        3
    gyzit  
    OP
       2015-10-13 20:43:53 +08:00
    @kittyoung 接下来要怎么做呢?谢谢
    kittyoung
        4
    kittyoung  
       2015-10-13 20:48:49 +08:00
    @gyzit
    touch ~/.bash_sessions_disable
    10.11 的这个功能感觉不实用 禁用掉好了
    gyzit
        5
    gyzit  
    OP
       2015-10-13 20:59:51 +08:00
    @kittyoung 可是还是不能退出终端后显示上次的历史纪录
    按你说的运行了,之后运行 set|grep his 变成这个:
    GuanYuzhesMBP:~ GuanYuzhe$ set|grep his
    HISTFILE=/Users/GuanYuzhe/.bash_history
    SHELLOPTS=braceexpand:emacs:hashall:histexpand:history:interactive-comments:monitor
    GuanYuzhesMBP:~ GuanYuzhe$
    gyzit
        6
    gyzit  
    OP
       2015-10-13 21:01:18 +08:00
    @kittyoung 我之前运行过 oh-my-zsh 自动包的,不知道和这个有无关系。
    kittyoung
        7
    kittyoung  
       2015-10-13 21:05:52 +08:00
    @gyzit cat ~/.bash_history
    还是不能退出终端后显示上次的历史纪录
    显示上次的历史纪录 是指 运行 history 吗?
    gyzit
        8
    gyzit  
    OP
       2015-10-13 21:08:43 +08:00
    @kittyoung 是的没错,是运行过的命令的纪录。我朋友的机器在终端输入 exit 后,会有 saving session 的字样,我就是直接 logout 。
    GuanYuzhesMBP:~ GuanYuzhe$ cat ~/.bash_history
    cat: /Users/GuanYuzhe/.bash_history: Permission denied
    GuanYuzhesMBP:~ GuanYuzhe$ sudo cat ~/.bash_history
    sh /Users/GuanYuzhe/Desktop/disable_activation_osx
    exit
    GuanYuzhesMBP:~ GuanYuzhe$
    gyzit
        9
    gyzit  
    OP
       2015-10-13 21:09:56 +08:00
    @kittyoung 就是在终端按键盘 上箭头 的那个历史纪录,没有退出终端是能看到的,退出后就看不到了。谢谢
    kittyoung
        10
    kittyoung  
       2015-10-13 21:11:45 +08:00
    @gyzit sudo chown GuanYuzhe ~/.bash_history
    gyzit
        11
    gyzit  
    OP
       2015-10-13 21:12:52 +08:00
    @kittyoung 可以了!!! 万分谢谢!!!!!!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2654 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 14:29 · PVG 22:29 · LAX 07:29 · JFK 10:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.