代码之家  ›  专栏  ›  技术社区  ›  Chan Kim

如何回忆以前命令的参数?(在csh和bash中?)

  •  7
  • Chan Kim  · 技术社区  · 7 年前

    我通常使用 csh (实际上,my/bin/csh链接到tcsh,这是csh的一个改进版本)并经常使用 !$ 引用最后一个命令的最后一个参数。
    但有时我想用最后一个 two 上一个命令的参数。我该怎么做?我想我可以访问以前任何命令的参数。

    我读过 How can I recall the argument of the previous bash command? 但是找不到答案。 我们如何引用上一个命令的倒数第二个参数?

    例如,如果我给了echo tiger rabbit,我如何引用tiger来执行以下命令?csh的答案最好,但我对bash的案例也很好奇。

    1 回复  |  直到 7 年前
        1
  •  13
  •   Allan    7 年前

    使用 历史扩展 您可以从 历史记录,按原样执行,或根据您的 需要。这个开始历史扩展。

    • !! 重复上一个命令
    • !10 重复历史记录中的第10个命令
    • !-2. 重复历史记录中的第二个命令(从最后一个命令开始)
    • !一串 重复从历史记录中以“string”开头的命令
    • !?一串 重复包含历史记录中的字串的命令
    • 用str2替换上一个命令中的str1并执行它
    • !!:$ 获取上一个命令的最后一个参数。
    • !字符串:n 从命令中获取第n个参数,该命令从历史记录中以-string-开头。

    • !^ 前一个命令的第一个参数

    • 上一个命令的最后一个参数
    • !* 上一个命令的所有参数
    • !:2. 上一个命令的第二个参数
    • !:2-3 前一个命令的第二到第三个参数
    • !:2-$
    • !:2* 上一个命令的倒数第二个参数
    • !:2- 上一个命令的倒数第二个参数
    • !:0 命令本身

    最后但并非最不重要的一点,我还建议你继续努力 Alt + . 访问之前输入的任何命令的最后一个参数