免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2392 | 回复: 5
打印 上一主题 下一主题

[系统管理] 关于bash中的HISTFILE环境变量 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-07-09 20:15 |只看该作者 |倒序浏览
本帖最后由 srzyhead 于 2013-07-17 14:41 编辑

今天想设置下bash的HISTFILE,想换个文件,自己一个人用
设置变量
  1. HISTFILE=~/.bash_history1
复制代码
问题出现了,试了许多次,bash退出时历史都不会刷进这个文件中
于是,换个绝对路径试了下
  1. HISTFILE=/home/hahaha/.bash_history1
复制代码
换成绝对路径后就没有问题了
然后又试了下相对路径
  1. HISTFILE=.bash_history1
复制代码
也是无压力,不知道这是什么原因

2013年7月17日订正:
  1. HISTFILE=.bash_history1
复制代码
这么设置,bash会在退出bash的目录中生成文件,所以最后的解决方案是
  1. HISTFILE=$HOME/.bash_history1
复制代码
这样就会在根目录中生成bash的历史文件了

论坛徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亚冠之浦和红钻
日期:2015-06-23 19:10:532015亚冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16赛季CBA联赛之山东
日期:2016-01-31 18:25:0515-16赛季CBA联赛之四川
日期:2016-02-16 16:08:30程序设计版块每日发帖之星
日期:2016-06-29 06:20:002017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之佛山
日期:2017-02-27 20:41:19
2 [报告]
发表于 2013-07-10 10:36 |只看该作者
touch  .bash_history1
之后再试试

论坛徽章:
0
3 [报告]
发表于 2013-07-10 13:10 |只看该作者
echo ~/.bash_history1看看是什么路径

论坛徽章:
0
4 [报告]
发表于 2013-07-10 15:45 |只看该作者
回复 2# waker

    不行,我还想过是不是属性问题,和.bash_history一样设置的600的属性之后也不行

论坛徽章:
0
5 [报告]
发表于 2013-07-10 15:50 |只看该作者
回复 3# rucypli

~的确指向的是/home/hahaha我就是在这个目录进行测试的,感觉原因就是bash不解析~

论坛徽章:
0
6 [报告]
发表于 2013-07-10 16:48 |只看该作者
回复 2# waker

对了后来我还遇到个有趣的问题。
我在我的用户根目录.bashrc里面设置这个参数的时候,bash启动默认还是读取.bash_history这个文件,但是bash关闭时,会把当前shell的历史命令写入我指定的这个HISTFILE中

由于我的初衷是弄个自己单独使用的bash history,这样就坑了,后来我再指定这个环境变量之后,执行
  1. history -c #清楚历史命令
  2. history -r $HISTFILE #强制读取指定文件的历史命令
复制代码
这样就可以自由自在的使用自己的bash history文件了

bash启动默认读取.bash_history这个文件的原因,我猜有2种可能
①是因为bash启动时已经吧bash history的功能启动起来了,这时还没读取.bashrc,$HISTFILE也就还没加载,于是就读取的默认的.bash_history
②bash默认的就是读取.bash_history,HISTFILE只是用来指定输出文件名的

问下大神哪种可能性靠谱些额
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP