如何在WSL上运行bash脚本

时间:2019-06-16 20:15:22

标签: bash windows-subsystem-for-linux

我正在尝试从Ubuntu WSL运行脚本script.sh。在Ubuntu WSL中,调用sh script.sh只会返回而不执行任何操作。难道我做错了什么?在WSL中运行Bash脚本的正确方法是什么?

我可以从Cygwin运行脚本,所以我知道它是有效的。 EOL设置为Unix。我已将权限设置为777。我尝试从WSL交互式外壳程序中运行它,也尝试从PowerShell中运行它:bash script.sh;都不起作用。我已经尝试过bashshwsl./

脚本:

#!/bin/bash

echo "hello"

WSL的结果:

~/test$ bash script.sh
~/test$

来自Cygwin的结果:

$ bash script.sh
hello

~/AppData/<path to ubuntu home>/test
$

1 个答案:

答案 0 :(得分:0)

我无法复制此问题。我已将其作为答案提交,以包含代码:

henry@TV:~
498$ cat <<, >script.sh
#!/bin/bash
echo hello
,

henry@TV:~
499$ bash script.sh
hello

编辑:请注意,如果您要直接使用bash调用,则不需要#!/bin/bash shebang和.sh扩展名。仅当您要将其称为可执行文件chmod时才需要./script,在这种情况下,需要使用shebang。