【问题标题】:How would you convert this bash alias to a (Windows) doskey alias? [closed]您如何将此 bash 别名转换为(Windows)doskey 别名? [关闭]
【发布时间】:2023-03-06 09:29:01
【问题描述】:

我正在将一些 bash 别名移植到 doskey 批处理命令,特别是其中一个我遇到了难以置信的困难。有人认为他们可以提供帮助吗?

bash 别名是:

alias gitrel='if [ -n "$(npm version patch)" ]; then git push && git push --tags; fi'

问题

  • 如何运行并从npm版本补丁中获取返回值?,
  • 或者如何在doskey 命令中执行控制流逻辑?

【问题讨论】:

  • 别名不是脚本。事实上,默认情况下,在脚本中别名是禁用的。它们旨在用于交互使用。
  • 很公平,我改了标题。重点仍然是在每个cmd.exe 会话开始时运行批处理文件中的一堆别名。
  • 您作为别名所做的事情,我将作为 bash 函数执行。将 bash 函数转换为 MS-DOS 的最简单方法可能是为每个函数创建单独的批处理文件。为什么不制作一个小型批处理文件库,将它们放在合理的位置,然后将该位置添加到您的 %PATH% 中?
  • @RodyOldenhuis 对于我要移植的所有其他别名,我已经设法使用doskey 单行器来完成它,甚至用$t 分隔多个命令也没有问题。我没有为这个特定的尝试任何东西,因为我不知道如何运行并从npm version patch 获取返回值,或者如何在doskey 命令中执行控制流逻辑。

标签: git bash batch-file npm


【解决方案1】:

你可以用 FOR/F 循环来做到这一点,但前提是 npn 只打印一行或不打印一行,如果它可以打印两行,则此代码将推送多次。

doskey alias=for /F "delims=" %a in ('npm version patch') do @( git push && git push --tags )

【讨论】:

    猜你喜欢
    • 2023-03-19
    • 1970-01-01
    • 2019-01-07
    • 2018-10-27
    • 1970-01-01
    • 1970-01-01
    • 2018-03-19
    • 1970-01-01
    • 2018-05-10
    相关资源
    最近更新 更多