我可以运行具有 000 权限的 Bash 函数并不完全正确,但差不多。我的代码是:
#!/bin/bash
function hello {
echo Hello! }
hello 文件具有以下权限:
-r-------- 1 UnixBasics hello_file
首先,我使用当前权限键入:
$ . ./hello_file;hello
调整是在运行 bash 脚本之前将 400 权限更改为 000:
$ chmod 000 hello_file
$ . ./hello_file;hello [1]
-bash: ./hello_file: Permission denied
Hello!
它给出了一个错误,但它不会停止运行该函数。我无法理解。我现在取消设置你好功能:“取消设置你好”。我收到错误:
-bash: ./hello_file: Permission denied
-bash: hello: command not found
为什么我第一次没有得到它们?它与缓存、缓冲区或类似的东西有关吗?为什么我可以使用 000 权限 [1] 运行 Bash 脚本?