执行 .sh 文件(以test.sh为例)的三种方式:
test.sh中的命令脚本是:echo "Hello, shell script"
以下三种方式任意一种皆可执行.sh 文件:
1、前往.sh 文件的目录,在bash(终端)中使用 ./test.sh 命令执行;
2、使用 绝对路径/test.sh 的方式执行;
3、使用 sh test.sh 命令执行。
但是,,有人可能就会遇到“permission denied”的权限不允许的情况,,这时候就要修改一下文件的所属用户权限了。
一个文件的使用者分为三种:所有者(一般也就是创建者)、所有者的同组用户、其他用户
- rw- rw- r-- :第一个小横杠“-”表示这是一个普通文件如.sh文件或者.py文件等,如果是一个目录而不是文件则横线变成“d”;
后面的部分是每三个一组,分别表示所有者、所有者的同组用户、其他用户对这个文件的权限
r:表示拥有 读 权限 ,权限代表数值为 4
w: 表示拥有 写 权限, 权限代表数值为 2
x: 表示拥有 可执行 权限,权限代表数值为 1
所以,读写权限可以表示为6(4+2=6),读写可执行所有权限表示为7(4+2+1=7),等等,想给哪个用户什么样的权限一个数值就能搞定。
如 chmod 764 test.sh 表示分别给所有者、同组用户、其他用户分别以 7 、6 、4 的权限,即三种用户对test.sh 文件分别拥有读写可执行、读写、读 权限。
u :目录或者文件的当前的用户
g :目录或者文件的当前的群组
o :除了目录或者文件的当前用户或群组之外的用户或者群组
a :所有的用户及群组
配合 “+” “-” 和“r,w,x”来标定相应的用户权限。
如 chmod u+x test.sh 表示给目录的当前用户(所有者)赋予可执行的权限。
一下两种命令等价:
1、chmod 751 file
说明: 给file的属主分配读、写、执行(7)的权限,给file的所在组分配读、执行(5)的权限,给其他用户分配执行(1)的权限
2、chmod u=rwx,g=rx,o=x file
说明:同上
参考:http://www.cnblogs.com/peida/archive/2012/11/29/2794010.html