簡體   English   中英

如何從mac執行bat? 是否可以將其重寫為 python 或 bash 腳本?

[英]How execute bat from mac? Is it possible to rewrite it to python or bash script?

我對 .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 腳本。 它們比 bat 功能強大得多,它們可以在所有 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,則必須將完整路徑傳遞給可執行文件(或修改PATH環境變量)。 例子:

# 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()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM