如何在 WSL 上运行 bash 脚本

问题描述 投票:0回答:2

我正在尝试从 Ubuntu WSL 运行脚本

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

我可以从 Cygwin 运行该脚本,所以我知道它是有效的。 EOL 设置为 Unix。我已将权限设置为 777。我尝试从 WSL 交互式 shell 中运行它,并作为 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
$
bash windows-subsystem-for-linux
2个回答
2
投票

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

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

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

编辑: 请注意,如果您要直接使用 bash 调用此函数,则不需要

#!/bin/bash
shebang 和
.sh
扩展。仅当您要将其作为可执行文件调用时才需要
chmod
,在这种情况下需要 shebang。
    


0
投票

或 只需运行 cmd 和 wsl -e bash -ic "which node > Looper.scheduler.log"

由于某种原因,配置文件未加载..我添加了 .bash_profile 和源 ~/.bashrc 虽然在 /mnt/user 默认目录中,但不知道这是否重要

© www.soinside.com 2019 - 2024. All rights reserved.