Немного предыстории:Что такое правильный способ передать параметр Set-Alias в powershell?
Я использую PowerShell В Windows XP на работе, и я поставил кучу полезных ярлыков в Microsoft.PowerShell_profile.ps1
в My Documents
, пытаясь подражать Mac среды вдохновленной Ryan Bates's shortcuts
У меня есть такие вещи, как:
Set-Alias rsc Rails-Console
function Rails-Console {Invoke-Expression "ruby script/console"}
Который работает нормально, когда в командной строке я говорю:
rsC#it calls the proper command
Однако это не работает должным образом
Set-Alias rsg Rails-Generate
function Rails-Generate {Invoke-Expression "ruby script/generate"}
Так что, когда я делаю:
rsg model User
который должен вызвать
ruby script/generate model User
все это называет это
ruby script/generate #Dumping my params
Итак, как правильно изменить мои функции, чтобы принимать параметры, которые я отправляю в функции?
Спасибо!
Johannes - Спасибо! Я новичок в powershell - так что я не был уверен, как сдать args, он не работает так же, как bash .. Спасибо! – konung
Ему нужно было бы рассмотреть Invoke-Expression или другие способы избежать аргументов, которые используют некоторые специальные символы. Такие вещи, как: или - могут начать испортить powershell, анализируя вашу полную командную строку. –