切换用户触发错误 -bash: /dev/null: Permission denied

此时,你需要删除 /dev/null 文件,并重新创建它:

1
rm -f /dev/null; mknod -m 666 /dev/null c 1 3

运行 Bash 脚本文件报错 /usr/bin/env: "bash\r": 没有那个文件或目录

错误原因:这主要是因为 bash 后面多了 \r 这个字符的原因。在 Linux 终端下,输出 \r 会什么都不显示,只是把光标移到行首。于是终端虽然输出了 /usr/bin/env bash,但是碰到 \r 后,光标会被移到行首,接着输出了 :No such file or directory 把前面的覆盖掉了。于是出现了那个莫名其妙的出错信息。

解决办法

1
2
3
4
vim 打开 sh 脚本文件,重新设置文件的格式
:set ff 然后回车,再重新设置下文件格式
:set ff=unix 回车
:wq! 保存退出

同时这样设置完也能解决一些其他的问题,比如想在 bash 文件中添加 Python 运行指令,但是传的参数太多,需要换行。如果是直接建 *.bash 文件,也会出现上面的问题。所以也需要重新设置下格式。