我正在使用Ubuntu,我想重复一些我执行的命令。 我试过类似的东西
for i in $(seq 2006 2013); do !$i; done;
但失败了,因为shell试图执行命令\’!2006\’。
man history
也没有向我透露如何重复一系列命令。
ShellExecute何时被引入到windows API中
检索bash的输出历史
为什么堆栈通常会向下扩展?
在vim的正则Expression式引擎中,为什么有些元字符会被转义,有些不是?
为什么windows环境variables名称使用特殊的转义字符?
将用户ID添加到bash历史logging
如何检测linux上的chmod文件
别名不显示在bash历史中
键盘快捷键跳转到ubuntuterminal的命令历史logging的末尾
防止在bash中意外的历史编辑
如果使用bash (或ksh ),则内置的fc允许您以各种方式处理历史记录。
fc -l # List recent history. fc -l 2006 2013 # List commands 2006..2013 fc 2006 2013 # launch editor with commands 2006..2013; executes what you save fc -e pico 2006 2013 # launches the editor pico on command 2006..2013 fc -e – 2006 2013 # Suppresses the \’edit\’ phase (but only executes the first Listed command) fc -e : 2006 2013 # Launches the \’:\’ command (a shell built-in) as the editor
在ksh的经典技术是使用别名alias r=\’fc -e -\’ ,但由于bash的行为,有必要稍微拧一下它的手臂,并使用alias r=\’fc -e :\’ 。
for i in $(seq 2006 2013); do !$i; done;
在你的代码中,你可能会想! 就好像 ! 在bash命令行中,但是在这里“!” 与“$我”变成一个像字符串命令“!2006,!2007 …!2013”的字符串,但实际上没有名为“!2006”“!2006”的命令全部是一个命令名。
在Bash! 是一个事件指示符 。 当你使用!2006。 它被解释为“参考命令2006”,但不使用命令“!2006”。
! 总是从左到右执行命令。
欲了解更多信息,请访问http://www.gnu.org/software/bash/manual/bashref.HTML#Event-Designators
我尝试以下方法得到相同的结果:
for i in $(seq 2006 2013); do fc -e – $i; done;
总结
以上是内存溢出为你收集整理的从历史logging执行一系列命令全部内容,希望文章能够帮你解决从历史logging执行一系列命令所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
请登录后查看评论内容