如何在 wsl 中从 Windows 批处理文件执行 .sh 文件

ebk*_*ebk 2 batch-file erpnext windows-subsystem-for-linux ubuntu-18.04

我正在尝试从 Windows 内的 .bat 文件执行 ubuntu 内的 .sh 文件。

我尝试过以下代码

cd "C:\Program Files\Ubuntu\Ubuntu"
start ubuntu1804.exe run ErpStartupService.sh
Run Code Online (Sandbox Code Playgroud)

我的 ErpStartupService.sh 是

#!/bin/bash
sudo service mysql start
sudo service nginx start
sudo service redis-server start
sudo service supervisor start
cd /home/frappe/frappe-bench
sudo bench start
read -p "$*"
Run Code Online (Sandbox Code Playgroud)

如果我从 ubuntu 终端运行 ErpStartupService.sh 作为 ./ErpStartupService.sh ,一切都会按预期执行。但是如果我运行 bat 文件终端就会消失并且无法理解发生了什么。我正在使用 ubuntu 18.0.4 作为 wsl

Car*_*rez 5

你快到了。不要使用start.

bash.exe -c ./ErpStartupService.sh
Run Code Online (Sandbox Code Playgroud)

或者

ubuntu1804.exe run bash -c ./ErpStartupService.sh
Run Code Online (Sandbox Code Playgroud)

玩一点

问候