美文网首页
OSX配置Bash的历史命令补全等功能

OSX配置Bash的历史命令补全等功能

作者: ibadplum | 来源:发表于2017-02-15 14:26 被阅读0次

1. 文件配置

配置在~/.bash_profile或者 /.bashrc;按键相关配置在/.inputrc 也可以。 区别是,inputrc为特定的情况处理键盘映射,例如bash的热键,profile中会判断是否有用户自定义的inputrc。当shell是login shell,.bash_profile才会加载,而bashrc正好相反(non-login shell的时候加载)。例如在linux下,当用户登录到一个图形界面,然后打开一个终端terminal,那些shell是non-login shell。例如在OS X登录的时候,并没有运行着一个shell,所以,在运行Terminal.app的时候,其实那是一个login shell。
为了通用,可以在 ~/.bash_profile里写上这个来加载.bashrc,然后把配置写在bashrc里,确保都可以执行。

if["${BASH-no}"!="no"];then
  [ -r ~/.bashrc ] && . ~/.bashrc
fi

2. .bashrc的配置

HISTCONTROL=ignoredups  #忽略重复命令
HISTCONTROL=erasedups #清除重复命令, 多个终端写history的时候还是有可能重复
HISTFILESIZE=1000000000 #命令历史文件大小
HISTSIZE=10000  # 保存历史命令条数
PROMPT_COMMAND="history -a" 
export HISTSIZE PROMPT_COMMAND
bind '"\C-f": forward-word'     #按照单词forward
bind '"\C-b": backward-word'  #按照单词backward
bind '"\e[A": history-search-backward'  #搜索历史补全
bind '"\e[B": history-search-forward'

其中,“HISTFILESIZE 表示记录在文件中的命令条数,HISTSIZE 表示记录在内存中的命令条数,Bash 会首先读取整个历史记录文件, 然后再把它截短到 $HISTSIZE 所定义的长度 – 因此如果你的历史记录文件变得非常非常大, bash 的启动时间会受到一定影响。”解决办法是存档。--https://blog.felixc.at/2013/09/how-to-avoid-losing-any-history-lines/ http://stackoverflow.com/questions/19454837/bash-histsize-vs-histfilesize
history -a 是把多个终端的history强制立刻写入命令历史记录,上面的文章里也有描述。但是发现个问题,写是即时的,但是我这里读不是及时的,已经开的终端并没有即时都到新的history。
下面的bind很好理解,看注释就好了。history-search搜的就是HISTSIZE对应的条数,这个自己test下就可以知道。

相关文章

  • OSX配置Bash的历史命令补全等功能

    1. 文件配置 配置在~/.bash_profile或者 /.bashrc;按键相关配置在/.inputrc 也可...

  • kubeactl命令补全

    安装bash-completion 配置kubectl命令补全功能 临时配置 永久生效配置

  • Linux Bash基础特性 (1)

    Bash的基础特性(1)命令历史 (2)命令补全 (3)路径补全 (4)命令行展开 (5)命令执行结果状态

  • LInux Day10: bash特性

    bash及其特性: 光标跳转: 命令历史: Tab 命令补全:Tab(命令搜索路径下) 路径补全全:Tab 环境变...

  • 1. bash 基础特性及基础命令

    bash 的基础特性: history 命令历史 命令补全 路径补全 目录管理类命令 命令行展开 练习1:如何创建...

  • 2-Linux基础

    本章内容 ◆ 用户登录◆ 终端◆ Shell介绍◆ 执行命令◆ 简单命令◆ Tab键补全◆ 命令行历史◆ bash...

  • 获得一个全交互式shell

    使用bash命令反弹的不是交互式shell,像vim、命令补全等功能无法使用,给渗透测试过程造成一定的麻烦,下面介...

  • Git命令补全配置

    最近想偷懒,抽空配置了下git命令的自动补全功能。 配置该功能时,只要下载git-bash-completion....

  • 重新配置myslq环境

    HomeBrew安装Mysql 在OSX下,我们用如下命令打开环境变量配置文件: open ~/.bash_pro...

  • bash shell 的功能

    命令记忆功能 ~./bash_history 命令与文件补全功能 TAB键可自动补全命令与文件 命令别名设置功能(...

网友评论

      本文标题:OSX配置Bash的历史命令补全等功能

      本文链接:https://www.haomeiwen.com/subject/ejjqwttx.html