
比如我 shell 文件是这样,文件名是 test:
#!/bin/bash echo bash test p>我zsh test, bash test, source test都正常 但是./test它就直接卡住没有输出 
这个怎么排查?只能重装系统了吗?
1 FurN1 2021-10-02 20:32:26 +08:00 which bash 看看输出,然后改你的 shebang line 或者直接把 shebang ling 改成#!/usr/bin/env bash |
2 FurN1 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 FurN1 2021-10-02 22:23:40 +08:00 @bombless mac 也是有 /usr/bin/env 的,尽管 homebrew 安装 coreutils 之后会带一个 env 。 |
7 bao3 2021-10-03 01:13:41 +08:00 via iPhone 还是用 sh 吧,标准的 posix,在哪都能用 |