我正在尝试从Ubuntu WSL运行脚本script.sh
。在Ubuntu WSL中,调用sh script.sh
只会返回而不执行任何操作。难道我做错了什么?在WSL中运行Bash脚本的正确方法是什么?
我可以从Cygwin运行脚本,所以我知道它是有效的。 EOL设置为Unix。我已将权限设置为777。我尝试从WSL交互式外壳程序中运行它,也尝试从PowerShell中运行它:bash script.sh
;都不起作用。我已经尝试过bash
,sh
,wsl
,./
。
脚本:
#!/bin/bash
echo "hello"
WSL的结果:
~/test$ bash script.sh
~/test$
来自Cygwin的结果:
$ bash script.sh
hello
~/AppData/<path to ubuntu home>/test
$
答案 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。