如何在macOS快捷指令中运行PowerShell脚本并查看完整输出
macOS快捷指令调用PowerShell脚本问题解决方案
1. 直接调用.ps1脚本失败的解决
快捷指令默认执行环境未关联PowerShell,直接指定.ps1文件无法触发执行。可在快捷指令的「运行Shell脚本」动作中,用PowerShell的完整路径直接执行脚本:
# 先通过终端执行 `which pwsh` 确认你的pwsh实际路径 /usr/local/bin/pwsh -File "/绝对路径/你的脚本.ps1"
2. .sh调用.ps1无后续输出的修复
这是PowerShell输出缓冲导致后续内容未实时刷新到终端。修改你的.sh脚本,用stdbuf强制关闭输出缓冲:
#!/bin/bash # 替换为你的pwsh和脚本路径 stdbuf -o0 /usr/local/bin/pwsh -File "/绝对路径/你的脚本.ps1"
执行前记得给.sh脚本加执行权限:
chmod +x /你的脚本路径/run_ps1.sh
3. 快捷指令打开终端执行命令
借助AppleScript实现终端窗口的启动与命令执行,步骤如下:
- 新建快捷指令,添加「运行AppleScript」动作
- 替换脚本内容为(注意替换实际路径):
tell application "Terminal" activate # 执行PowerShell脚本,末尾的read命令用于保持窗口不关闭 do script "/usr/local/bin/pwsh -File '/绝对路径/你的脚本.ps1'; read -p '按回车关闭窗口'" end tell
内容的提问来源于stack exchange,提问作者Hypersapien
相关产品推荐
相关产品推荐

