【问题标题】:How to Parse Command Line Arguments in a Cmder Alias如何在 Cmder 别名中解析命令行参数
【发布时间】:2017-01-31 18:33:26
【问题描述】:

我创建了一个别名来以 sublime 文本打开文件的旧 git 版本。

我的别名接受 2 个参数,$1 是修订版,$2 是文件路径, 但我想解析参数以获取文件的文件扩展名,以便以正确的格式打开它。

我现有的代码在这里:

revise=git show $1:$2 > redirected.txt $T C:/PROGRA~1/SUBLIM~2/sublime_text.exe redirected.txt

但是我想这样做:

revise=git show $1:$2 > redirected.{$2.extesnion} $T   C:/PROGRA~1/SUBLIM~2/sublime_text.exe redirected.{$2.extesnion}

【问题讨论】:

  • 我在这里看不到任何有效的bash 代码。别名(当使用 alias 关键字正确声明时)不带参数,并且不清楚 $T 应该是什么。
  • 这是一个接受别名的cmder别名,$T是分隔符
  • 这些是针对cmd.exe 会话的,而不是bash 会话。两者不兼容。

标签: cmder


【解决方案1】:

环境详情:

  • cmder 版本:1.3.15.1010

在 cmd.exe 会话中,您可以使用 $* 占位符从命令行读取参数以获取别名之后的所有内容,别名示例:

vi=vim $*

别名用法:

D:\
λ vi test.txt

或者您可以使用占位符读取以空格分隔的参数 $1、$2、$n... 别名示例:

example= echo param one: $1    param two: $2

别名用法:

D:\
λ example hi how are you?

别名结果:

param one: hi    param two: how

注意-are--you?-哪里没有回显

【讨论】:

    猜你喜欢
    • 2017-10-02
    • 2011-04-27
    • 2010-09-16
    • 2010-09-26
    • 2014-12-18
    • 1970-01-01
    相关资源
    最近更新 更多