mono + pash : 在linux中运行PowerShell的解决方案

 

项目开发需要,需要调查在linux平台上面运行PowerShell的方法。

我再微软的官方博客中找到了PowerShell的linux平台解决方案(http://blogs.msdn.com/b/powershell/archive/2008/04/08/powershell-on-linux-solaris-mac-etc.aspx)

主要实现技术是:mono + pash ,其中

mono:开源的跨平台.NET运行环境(http://www.mono-project.com/)

pash: 运行在mono环境的PowerShell开源实现方案(https://github.com/Pash-Project/Pash)

 

一: 安装.NET运行环境 mono

下载地址见官网 (http://www.mono-project.com/)

1) 进入mono-4.2.1 的目录, 执行命令

   # ./autogen

 

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的命令库中。

你可能感兴趣的:(mono + pash : 在linux中运行PowerShell的解决方案)