在Bash中,我想获取上次使用命令foo
时使用的参数。通过交互式,我可以通过键入!foo:*
来使用事件指示符。有没有办法以非交互方式使用事件,例如在函数内?我设法以这种方式得到了类似的效果,但它似乎非常hacky:
$(fc -s foo=echo foo 2> /dev/null)
P.S。任何人对此问题有更合适的标签有任何建议吗?是否有任何标签与Bash中的!
事件指示符或类似内容有关?
答案 0 :(得分:2)
您可以使用bash history
内置的-p
选项:
-p
对每个ARG执行历史记录扩展并显示结果而不将其存储在历史记录列表中
例如:fooargs=$(history -p '!foo:*')
以上引用来自help history