为!history命令创建别名

时间:2018-06-25 16:35:59

标签: bash shell

我想为!num类型的命令创建别名。真的,只是格式就足够了。我的目标是在功能上合并历史记录。

基本上,如果我的HISTSIZE是150,命令编号是175,那么history将从26开始输出,这意味着!11返回-bash: !11: event not found。我想这样做,以便在!num返回!(num+something)的情况下将!num别名为event not found

我尝试过

alias x='!$1 || !(( $1 + 100 ))'

使用x代替!,因为我想我真的不在乎它是否是该特定字符,但是x11不是命令,x 11返回!: command not found,然后是a.txt: command not found,它们来自我当前目录中的第一个文件。

我也尝试过

j:~$ !$(echo 180)
)(echo 180)
-bash: syntax error near unexpected token `)'
j:~$ !(( 100 + 80 ))
-bash: !: event not found
j:~$ eval "!(( 100 + 80 ))"
bash: a.txt: command not found...

所以我不确定是否有可能使!接受没有立即输入的任何数字。

编辑:我知道我错误地使用了带有别名的位置参数,因此我应该使用一个函数。我将使用fc来满足我的需求。

1 个答案:

答案 0 :(得分:1)

使用!命令而不是尝试使用fc

fc -s $((100-80))

将运行与!20相同的命令