wsl -e 无法运行在 wsl 执行后可以运行的脚本

wsl -e 无法运行在 wsl 执行后可以运行的脚本

我在 Ubuntu 中创建了一个脚本:

# bash_test_01.sh
echo "cmd is executed"

从 WSL 内部运行脚本有效:

> wsl
$ cd /home
$ /home/bash_test_01.sh
cmd is executed.

但是从 WSL 外部运行脚本失败:

> wsl  -e /home/bash_test_01.sh
WSL (31608) ERROR: CreateProcessEntryCommon:570: execvpe /home/adm_difolco_e/bash_test_01.sh failed 8```
WSL (31608) ERROR: CreateProcessEntryCommon:579: Create process not expected to return

答案1

需要-e一个要遵循的命令(可以是“shell”名称,如bash)。

 wsl -e bash /home/adm_difolco_e/bash_test_01.sh

要么放弃,要么-e在你的 shell 脚本中添加 she-bang,或者添加bash

替代方案:使您的脚本可执行(使其成为命令):

chmod 700 /home/adm_difolco_e/bash_test_01.sh
wsl -e ./home/adm_difolco_e/bash_test_01.sh

相关内容