Powershell是偉大的腳本。但是當涉及到日常使用時,某些事情可能是一個巨大的PITA!將cygwin bin目錄添加到powershell路徑環境變量中... cygwin內powershell
,所以我認爲這將是巨大的,如果我可以做這樣的事情在我profile.ps1:
$env:path = "$($env:path);c:\cygwin\bin"
以訪問像焦油,ZIP等公用設施......但這並不工作。可變期待權當我這樣做:
PS > $env:path
但是當我嘗試這樣做,比方說,
PS > unzip foo.zip
我得到命令沒有找到錯誤類型。
WTF PowerShell!?
編輯:偉大的答案!今天早上我用新鮮的眼睛看着它,意識到我只需要正確拼寫'cygwin'!現在我不必在兩個控制檯之間來回切換。對於任何使用這個技巧的人來說,你在powershell中的路徑是按順序評估的 - 如果你把c:\ cygwin \ bin放在$ env:path變量的末尾,它會被最後搜索,所以它贏得了'不會干擾現有的powershell別名/ cmdlet。
雖然'$ env:path'是進程級別,它應該仍然適用於OP正在嘗試做的事情。使用Environment.SetEnvironmentVariable只需將其設置爲用戶級別即可。 – manojlds 2012-02-16 04:07:57
啊,真的。我沒有注意到他正在根據環境變量進行調用,而不是假定外部過程需要它。 – 2012-02-16 05:56:45