免费注册 查看新帖 |

Chinaunix

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

[求助]history在脚本中运行不起来... [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-12-29 17:53 |只看该作者 |倒序浏览
刚接触shell...想自动备份history中的命令。
可是history这个命令在脚本中不能执行,在脚本中

line=$(history | wc -l)
echo $line

运行后,得到的结果是0...别的命令ls  ps之类的都行。
新手,各位赐教。。

论坛徽章:
0
2 [报告]
发表于 2007-12-29 18:10 |只看该作者
居我所知,history命令在脚本中是无效的

论坛徽章:
0
3 [报告]
发表于 2007-12-29 18:26 |只看该作者
原帖由 godamen 于 2007-12-29 18:10 发表
居我所知,history命令在脚本中是无效的


哦,刚搜了下论坛,用. ./xx.sh执行就好了(以后注意搜,嘿嘿)
难道要在同一个shell中执行history才有效?为什么ls ps之类不用这样?
那位大虾解释一下...

论坛徽章:
0
4 [报告]
发表于 2007-12-29 19:21 |只看该作者
因为默认情况下只有interactive shell 的  history 选项打开了。

From bash info

         `history'
               Enable command history, as described in Bash
               History Facilities::.  This option is on by default in
               interactive shells.

要想在脚本里也用,就得手工加上 history 选项


  1. /home/lgfang/tmp $ cat test.sh
  2. #!/usr/local/bin/bash
  3. set -o history
  4. echo 'aaa'
  5. echo 'bbb'
  6. echo $(history | wc -l)
  7. /home/lgfang/tmp $ ./test.sh
  8. aaa
  9. bbb
  10. 3
复制代码

论坛徽章:
0
5 [报告]
发表于 2007-12-29 20:01 |只看该作者

回复 #1 jiayisuse 的帖子

自动备份history中的命令?

#history >filename

over

论坛徽章:
0
6 [报告]
发表于 2007-12-29 22:41 |只看该作者

回复 #4 lgfang 的帖子

谢谢你的解说!
不过还是有问题...
  1 #!/bin/bash
  2 set -o history
  3 line=$(history | wc -l)
  4 echo $line

之后
jiayi:/mnt/3/pdf/linuxclass/shell/experience # ./history.sh
1
jiayi:/mnt/3/pdf/linuxclass/shell/experience # . ./history.sh
39

39才是想要的结果...

论坛徽章:
0
7 [报告]
发表于 2007-12-29 22:43 |只看该作者

回复 #5 linux_paly 的帖子

哦,我想开机自动检测,然后备份...
练习练习。。

论坛徽章:
0
8 [报告]
发表于 2007-12-30 10:43 |只看该作者
原帖由 jiayisuse 于 2007-12-29 22:41 发表
谢谢你的解说!
不过还是有问题...
  1 #!/bin/bash
  2 set -o history
  3 line=$(history | wc -l)
  4 echo $line

之后
jiayi:/mnt/3/pdf/linuxclass/shell/experience # ./history.sh
1
jiayi ...


把第一行(指定bash)去掉就可以了。但为什么这样就可以,我也说不出道理。

论坛徽章:
0
9 [报告]
发表于 2007-12-30 14:40 |只看该作者
原帖由 lgfang 于 2007-12-30 10:43 发表


把第一行(指定bash)去掉就可以了。但为什么这样就可以,我也说不出道理。


好的,谢谢。
先这么用,呵呵...

论坛徽章:
4
技术图书徽章
日期:2013-09-23 10:22:37狮子座
日期:2013-10-15 23:31:54卯兔
日期:2013-11-11 17:33:15金牛座
日期:2013-11-15 17:25:28
10 [报告]
发表于 2007-12-31 12:42 |只看该作者
如果你用bash,备份~/.bash_history
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP