如何在Mac上执行bat?能否重写成python或bash脚本?

问题描述 投票:0回答:1

我的.bat文件有问题。有一个.bat文件可以启动服务器,但在Mac OS系统上,这是不可能的。但在Mac OS系统上,这是不可能的。有什么办法可以把它改写成python或bash脚本,这样就可以从MacBook上启动?

这是.bat文件。

echo start web server..
start cmd /k node webServer.js
echo start chrome..
start chrome.exe /k http://localhost:8080

谢谢你的帮助

python macos batch-file
1个回答
3
投票

这里有一个跨平台的Python例子 (除非你没有 nodePATH),只使用标准库。

# client.py

import subprocess
import webbrowser


if __name__ == '__main__':
    try:
        server_proc = subprocess.Popen(['node', 'webServer.js'])
        webbrowser.open('http://localhost:8080')
        server_proc.communicate()
    except KeyboardInterrupt:
        server_proc.terminate()

但是,请注意 webbrowser.open 将打开被设置为默认的浏览器,所以它可能是Safari或其他什么。如果你想打开Chrome浏览器,你必须传递可执行文件的完整路径(或者修改你的 PATH env var). 例子。

# client.py

import os
import subprocess


if __name__ == '__main__':
    try:
        server_proc = subprocess.Popen(['node', 'webServer.js'])
        chrome_exe = os.path.join('/', 'Applications', 'Google Chrome.app', 'Contents', 'MacOS', 'Google Chrome')
        subprocess.Popen([chrome_exe, 'http://localhost:8080'])
        server_proc.communicate()
    except KeyboardInterrupt:
        server_proc.terminate()

2
投票

好吧,所以最好使用bash脚本。它们比bat强大得多,而且它们可以在所有Unix如OS-s(Linux, Mac ...)上运行,也可以在windows上运行,但要做一些修改。这将告诉你如何运行node。

从bash脚本运行node

这将告诉你如何运行应用程序。

https:/askubuntu.comquestions682913如何编写shell脚本来启动一些程序。

另外,可以看看这个链接,了解一下bash的介绍,这是一件好事。

https:/linuxconfig.orgbash-scripting-tutorial-for-beginners。

也是在 https:/www.mac-forums.comforumsswitcher-hangout302162-execute-bat-file-mac.html 你可以看到如何在Mac上运行它,但正如他们所指出的,它并不是100%的工作。

编辑1:这是代码。

#!/bin/bash

echo "Star server .."
node webServer.js
echo "Open chrome"
open http://localhost:8080

对于节点,只需添加文件的路径,就像你通常会运行它.对于最后一行,它打开默认浏览器的链接。

© www.soinside.com 2019 - 2024. All rights reserved.