項目開發須要,須要調查在linux平臺上面運行PowerShell的方法。linux
我再微軟的官方博客中找到了PowerShell的linux平臺解決方案(http://blogs.msdn.com/b/powershell/archive/2008/04/08/powershell-on-linux-solaris-mac-etc.aspx)git
主要實現技術是:mono + pash ,其中 github
mono:開源的跨平臺.NET運行環境(http://www.mono-project.com/)shell
pash: 運行在mono環境的PowerShell開源實現方案(https://github.com/Pash-Project/Pash)session
一: 安裝.NET運行環境 mono測試
下載地址見官網 (http://www.mono-project.com/) blog
1) 進入mono-4.2.1 的目錄, 執行命令開發
# ./autogenget
2) 獲取並安裝 monolite(包含運行mcs編譯器的相關文件),執行下面命令須要當前linux系統可以用wget命令聯網。編譯器
# make get-monolite-latest
(注:若是沒法聯網,能夠手動下載相應monolite-138-latest.tar.gz包 http://storage.bos.xamarin.com/mono-dist-master/latest/monolite-138-latest.tar.gz )
3 ) 執行make命令# make
4
二: 安裝pash
下載地址見官網 (https://github.com/Pash-Project/Pash)
1) 解壓安裝包,進行到 Pash-master 目錄#cd Pash-master
2 ) 執行命令
可是,通過在SUSE Linux Enterprise Server 11環境上安裝mono+pash進行測試發現。雖然能夠執行大部分PowerShell命令,確並無徹底移植實現Windows平臺上PowerShell的全部命令。
(見PowerShell的命令庫 https://msdn.microsoft.com/en-us/library/powershell_mref_reference_home%28v=vs.85%29.aspx 和 Pash移植實現的命令庫 https://github.com/Pash-Project/Pash/tree/master/Source)
諸如命令 new-pssession 、New-PSsessionOption和Invoke-command 命令等不在pash的命令庫中。