我想为!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
来满足我的需求。
答案 0 :(得分:1)
使用!
命令而不是尝试使用fc
。
fc -s $((100-80))
将运行与!20
相同的命令