我在 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