2016-03-15 2 views
0

Что я хочу сделать, это удалить вывод команды Alis и получить от нее команду power-shell и запустить эту команду.Как выбрать команду powershell из Alias ​​и выполнить эту команду

как бы я сделал это в bash, я бы разрезал вход и получил второй столбец, а затем сохранил каждую строку в списке. затем запустите строку, которая начинается с команды, которую я хочу, и использую регулярное выражение, чтобы получить seperateor «->», а затем поместите результат после этого в строку и запустите эту команду. вроде как это

(если псевдоним работал то же самое в Баш, что он делает в PowerShell)

выход псевдоним кд

CommandType Name     Version   Source 
----------- ----     -------   ------ 
Alias   cd -> Set-Location 

Что я хочу сделать, это захватить Установить местоположение из команды и сохраните это в строке для запуска последней команды. поля не ограничены табуляцией, они ограничены пространством.

ответ

1

Как бы это сделать в bash, я бы отрезал вход и получил второй столбец, а затем сохранил каждую строку в списке. затем получить строку, начинающуюся с помощью команды я хочу и использовать регулярные выражения, чтобы получить seperateor «->», а затем поместить результат после этого в строке

К счастью для вас, PowerShell командлетов выдавать объекты вместо текст, поэтому гораздо проще извлечь такую ​​информацию.

Чтобы получить определение псевдонима, выберите definition свойства вывода объекта на get-alias:

get-alias cd |select-object -expandproperty definition 

Короче, в любое время вы начинаете думать: «Я буду анализировать вывод текста этого командлета «В PowerShell вы, вероятно, ошибаетесь. Вместо этого переместите командлет на Get-Member и посмотрите на свойства и методы, зависающие с выходными объектами. Тогда допросите их. PowerShell основан на объектах, а не на основе текста. Если вы живете в bash в течение нескольких лет/десятилетий, то вам нужно настроить .

+0

Для запуска команды aliased вам необходимо вызвать расширенное свойство: '& (Get-Alias ​​...)'. Однако я сомневаюсь, что существует много псевдонимов, где это действительно полезно. –

+0

Спасибо, я не думал смотреть на объект, который он выплевывает. Я использую просто использование bash, поэтому переход к силовой оболочке для меня немного странный. Я получил его для работы, просто используя текст, но этот способ намного более изящный и простой в использовании. – Austinisftw

Смежные вопросы