如何从 mac 执行蝙蝠?是否可以将其重写为 python 或 bash 脚本?



我对.bat文件有问题。有一个启动服务器的.bat文件。但在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

感谢您的帮助!

好的,所以最好使用 bash 脚本。它们比蝙蝠强大得多,它们可以在所有Unix上工作,如OS-s(Linux,Mac..(,并且可以在Windows上进行一些修改。 这将向您展示如何运行节点:

从 bash 脚本运行节点

这将向您展示如何运行该应用程序:

https://askubuntu.com/questions/682913/how-to-write-shell-script-to-start-some-programs

另外,请查看此链接以获取bash的介绍,了解它是一件好事:

https://linuxconfig.org/bash-scripting-tutorial-for-beginners

同样在 https://www.mac-forums.com/forums/switcher-hangout/302162-execute-bat-file-mac.html 上,您可以看到如何在 mac 上运行它,但正如他们在那里指出的那样,它不能 100% 工作。

编辑1: 这是代码:

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

对于节点,只需将路径添加到文件,就像您通常运行它一样。 最后一行它打开带有链接的默认浏览器。

这是一个跨平台的 Python 示例(除非您在PATH中没有node(,并且仅使用标准库:

# 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,则必须传递可执行文件的完整路径(或修改您的PATHenv 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()

最新更新