将灵犀claw里的ps1脚本改成sh脚本

wils
wils Lv.4 核心创作者

Lv.4 核心创作者

昨天有朋友指出,灵犀claw里ps1脚本由于安全策略禁止运行,最好改成sh脚本

今天试了一下,不太完善,希望更多朋友尝试并指出更好的办法:

注意,下面的脚本要保存成utf8编码

比如,ps1里原来是这样,由于安全策略不能执行:

Write-Host "测试中文输出"
Get-Date

在开头加了两行,后缀改成sh,就可以在灵犀claw里执行了:

exec powershell.exe -Version 5.1 -NoLogo -NoProfile -Command "gc -Encoding UTF8 -LiteralPath '$(cygpath -w "$(realpath "$0")")'|select -Skip 1|out-string|iex"
[console]::OutputEncoding = [System.Text.Encoding]::UTF8
Write-Host "测试中文输出"
Get-Date

这样就有疑问了:

  • 好像sh里直接调用powershell.exe不行,但exec或者昨天试的dash -c就可以,这是为什么?

  • 现在这个脚本后缀直接改回ps1,倒也能执行,只是警告exec找不到命令,可以用clear忽略警告,不像原来ps1改bat那种注释的写法,随便改后缀都能通用

昨天的帖子是修改skill里的md文件

https://bbs.wps.cn/topic/91304

今天是修改ps1脚本,都能行,但有啥优劣还得更多朋友尝试指出

希望多些朋友来尝试,指点下怎么写更方便,多谢🎉

海南省
浏览 153
收藏
8
分享
8 +1
+1
全部评论