在脚本中使用Interactive的Shell历史记录扩展

History_expansion

我有以下Bash脚本

set -o histexpand
set -o history
pwd
lc="!!"

当我在交互式外壳中运行它时,它会打印

/home/user
lc="pwd"

我希望lc=pwd通过使用历史记录扩展,而不是获取,来获取交互式外壳程序中使用的最后一个命令。所以,如果我跑步echo foo; ./script,我希望得到

/home/user
lc="echo foo"

我试图set -H在脚本中运行,但它不起作用。

库萨兰达

除非调用外壳程序将其历史记录保存到$HISTFILE每个执行的命令之后bash(默认情况下不执行)并导出HISTFILE变量,否则使用外壳程序的历史记录扩展来获取在运行脚本之前在外壳程序会话中执行的命令是不可行的。不需要做。

默认情况下,bashShell为当前交互式Shell会话维护一个内存历史记录。此历史记录保存到$HISTFILE外壳程序会话退出时。当启用命令行历史记录的新会话开始时,将从该文件中读取已保存的历史记录(假设新的Shell使用相同的$HISTFILE值)。

除非脚本具有HISTFILE从其调用环境继承变量,否则您的脚本最多将能够访问其自身会话的命令行历史记录,即脚本中的命令。如果HISTFILE已导出,但是如果调用外壳程序$HISTFILE在运行脚本之前从未将其历史记录保存到该外壳程序,则不可能获取该父外壳程序会话的内存历史记录,并且您最多将能够访问该脚本程序的历史记录。会议已经死了很久了。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Chrome扩展程序中使用历史记录API获取浏览历史记录

来自分类Dev

使用shell脚本更改* n *提交的git历史记录(提交日期)

来自分类Dev

如何使用Shell脚本在文件中写入历史记录

来自分类Dev

如何保存emacs中的shell历史记录并在终端中使用它?

来自分类Dev

在Windows中使用python获取重启历史记录

来自分类Dev

在Bash别名中使用历史记录命令

来自分类Dev

在R中使用模式查找历史记录

来自分类Dev

脚本中的Bash历史记录:`!#:*`

来自分类Dev

有没有一种方法可以显示Shell中使用的命令的历史记录?

来自分类Dev

使用matplotlib绘制历史记录

来自分类Dev

安全的bash历史记录使用

来自分类Dev

从bash脚本调用历史记录时“历史记录位置超出范围”

来自分类Dev

crontab运行shell脚本,将用户历史记录写入日志文件

来自分类Dev

将命令历史记录导出到Shell脚本中

来自分类Dev

在Shell脚本中实施时,历史记录替换失败

来自分类Dev

在控制台中编写类似shell脚本的历史记录

来自分类Dev

bash shell 脚本是否会保留其命令历史记录?

来自分类Dev

如何在Linux中使用日期记录命令历史记录?

来自分类Dev

如何使用bash历史记录使用历史记录中的参数运行命令?

来自分类Dev

在ZSH历史记录中扩展别名

来自分类Dev

设置历史记录扩展模式的别名

来自分类Dev

如何使用历史记录类处理浏览器历史记录

来自分类Dev

如何使用“魔术空间”为命令启用自动历史记录扩展?

来自分类Dev

使用[!set]时,zsh会调用历史记录扩展

来自分类Dev

松脚本-动态历史记录引用

来自分类Dev

无法使用bash脚本从git历史记录中删除文件

来自分类Dev

如何使用脚本获取Google文档中的修订历史记录?

来自分类Dev

如何使用脚本获取Google文档中的修订历史记录?

来自分类Dev

如何使用NetSuite中的脚本检查特定客户的历史记录信息?

Related 相关文章

  1. 1

    如何在Chrome扩展程序中使用历史记录API获取浏览历史记录

  2. 2

    使用shell脚本更改* n *提交的git历史记录(提交日期)

  3. 3

    如何使用Shell脚本在文件中写入历史记录

  4. 4

    如何保存emacs中的shell历史记录并在终端中使用它?

  5. 5

    在Windows中使用python获取重启历史记录

  6. 6

    在Bash别名中使用历史记录命令

  7. 7

    在R中使用模式查找历史记录

  8. 8

    脚本中的Bash历史记录:`!#:*`

  9. 9

    有没有一种方法可以显示Shell中使用的命令的历史记录?

  10. 10

    使用matplotlib绘制历史记录

  11. 11

    安全的bash历史记录使用

  12. 12

    从bash脚本调用历史记录时“历史记录位置超出范围”

  13. 13

    crontab运行shell脚本,将用户历史记录写入日志文件

  14. 14

    将命令历史记录导出到Shell脚本中

  15. 15

    在Shell脚本中实施时,历史记录替换失败

  16. 16

    在控制台中编写类似shell脚本的历史记录

  17. 17

    bash shell 脚本是否会保留其命令历史记录?

  18. 18

    如何在Linux中使用日期记录命令历史记录?

  19. 19

    如何使用bash历史记录使用历史记录中的参数运行命令?

  20. 20

    在ZSH历史记录中扩展别名

  21. 21

    设置历史记录扩展模式的别名

  22. 22

    如何使用历史记录类处理浏览器历史记录

  23. 23

    如何使用“魔术空间”为命令启用自动历史记录扩展?

  24. 24

    使用[!set]时,zsh会调用历史记录扩展

  25. 25

    松脚本-动态历史记录引用

  26. 26

    无法使用bash脚本从git历史记录中删除文件

  27. 27

    如何使用脚本获取Google文档中的修订历史记录?

  28. 28

    如何使用脚本获取Google文档中的修订历史记录?

  29. 29

    如何使用NetSuite中的脚本检查特定客户的历史记录信息?

热门标签

归档