如果我关闭了执行权限hello.sh并尝试执行它
~$ sudo chmod 0666 hello.sh
~$ ./hello.sh
-bash: ./hello.sh: Permission denied
Run Code Online (Sandbox Code Playgroud)
我收到权限错误。但是我可以通过使用.orsource内置来轻松覆盖它。
$ . hello.sh
hello everyone
Run Code Online (Sandbox Code Playgroud)
如果有人可以使用source内置文件覆盖它,那么在文件上设置执行权限的目的是什么?
你好.sh
#!/bin/bash
echo 'hello everyone'
Run Code Online (Sandbox Code Playgroud)
有一个区别:如果您执行类似 的脚本./script.sh,您将创建一个新进程,一个 bash shell 的新实例。这是否认的。
但是,由于权限允许您阅读脚本,有什么可以阻止您复制和粘贴所有内容?在source内置的只是做:它通过从文本文件阅读他们执行的命令一个接一个。
| 归档时间: |
|
| 查看次数: |
2644 次 |
| 最近记录: |