在zsh脚本中获取上一个命令的参数

时间:2019-10-03 14:17:14

标签: bash zsh

我想在bash中开发一个函数,以便在终端中运行cat脚本后在vim中打开文件。

cat readme.txt

现在,我想在vim中打开文件。我不想创建vim readme.txt,而是要创建一个函数vv,该函数将获取最后一个命令参数(!*),并在其前面加上vim

function vv() {
    args=$(!*)
    vim $args
}

我也尝试过设置别名:

alias vv="vim !*"

这两个都不起作用。有什么办法可以在zsh脚本中获取上一个命令的指令?

2 个答案:

答案 0 :(得分:0)

您不需要!*,而!$。那是bash,在zsh中我也是这样

答案 1 :(得分:0)

如果最后一个参数足够,则可以使用$_

vv() {
  vim "$_"
}

如果您运行ls -l foo.txt,那么vv将运行vim foo.txt

(如果最后一个参数不足 ,那么这将无济于事)