Как анализировать аргументы командной строки в псевдониме Cmder

Я создал псевдоним, чтобы открыть старую версию файла 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}

person yoel neuman    schedule 31.01.2017    source источник
comment
Я действительно не вижу здесь действительного кода bash. Псевдонимы (при правильном объявлении с ключевым словом alias) не принимают аргументов, и неясно, что должно быть $T.   -  person chepner    schedule 31.01.2017
comment
это псевдоним cmder, который принимает псевдонимы, а $T является разделителем   -  person yoel neuman    schedule 31.01.2017
comment
Это для сеансов cmd.exe, а не сеансов bash. Эти двое несовместимы.   -  person chepner    schedule 31.01.2017


Ответы (1)


детали окружения:

  • версия командной строки: 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?-, где нет повторения

person user14715449    schedule 26.11.2020