我想在红帽 linux 服务器中执行 .ps1 powershell 脚本

Rak*_*ble 5 database linux powershell

我有一个在窗口中执行的 .ps1 powershell 脚本,但我的全部数据都在 linux 服务器中,是否有任何可能的方法可以在红帽服务器中执行 powershell 脚本

PowerShell 脚本是:

Clear-Host
$path="D:\Deep Backup 26-04-2013\New folder"
$systemname=Read-Host 'Enter System Name'



$files=Get-ChildItem $path -Recurse -Force -Include *_Registrar.zip*,*.reg.zip*


$counter=1

foreach($file in $files)
{
    $name=$file.name
    [void][system.reflection.Assembly]::LoadFrom("C:\Program Files\MySQL\MySQL Connector Net 6.5.4\Assemblies\v2.0\MySql.Data.dll")
    $dbconnect=New-Object MySql.Data.MySqlClient.MySqlConnection
    $dbconnect.ConnectionString="server=localhost;userid=root;password=nPr123*;database=test3;"
    $dbconnect.Open()

    $sql="insert into eid values('"+$name + "','"+$systemname+"')"


    $command=new-object MySql.Data.MySqlClient.MySqlCommand($sql,$dbconnect)
    $command.ExecuteNonQuery()


}
 $sql="insert into eid_unique
       select distinct Packet_name, System_name from eid a
       where not exists (select 1 from eid_unique b
       where a.Packet_name=b.Packet_name);"


    $command=new-object MySql.Data.MySqlClient.MySqlCommand($sql,$dbconnect)
    $command.ExecuteNonQuery()
$dbconnect.close()
Run Code Online (Sandbox Code Playgroud)

小智 8

四年后,微软从最初的问题发布了适用于 linux 的 powershell。它是开源的:https : //github.com/PowerShell/PowerShell

在 linux 环境中你可以使用这样的语法:(script.ps1, executable)

#!/usr/bin/powershell -Command

write-host -fore Green "executing PowerShell!";
Run Code Online (Sandbox Code Playgroud)


sbu*_*cki 5

Pash是 Powershell 的跨平台单一克隆,正在积极开发中。您只需要下载、使用 构建xbuild并运行它。就像在 Windows 上使用 Powershell 一样,您可以使用以下命令执行脚本

& '/path/to/script.ps1'
Run Code Online (Sandbox Code Playgroud)


hol*_*olt 0

听起来Pash可能适合你。