比如我 shell 文件是这样,文件名是 test:
#!/bin/bash echo bash test
p>我zsh test
, bash test
, source test
都正常 但是./test
它就直接卡住没有输出 这个怎么排查?只能重装系统了吗?
![]() | 1 IgniteWhite 2021-10-02 20:32:26 +08:00 which bash 看看输出,然后改你的 shebang line 或者直接把 shebang ling 改成#!/usr/bin/env bash |
![]() | 2 IgniteWhite 2021-10-02 20:35:15 +08:00 你用 mac 的话,用 homebrew 安装的 bash 本来就不在 /bin/bash,应该是 /usr/local/bin/bash 。无论如何,shebang line 换成#!/usr/bin/env bash 都比较方便 |
![]() | 3 bombless OP 喔我重启过后就没事了…… 不知道发生了什么 我用 /bin/bash 是因为 /bin/zsh 和 /bin/bash 本来就是系统预装的位置 说真的反而是 env 的位置在 mac 和 linux 中不同 我反而感觉 /bin/sh 稳一点 |
![]() | 5 IgniteWhite 2021-10-02 22:23:40 +08:00 @bombless mac 也是有 /usr/bin/env 的,尽管 homebrew 安装 coreutils 之后会带一个 env 。 |
![]() | 7 |