Linux 脚本 sh 和 ./ 的区别


区别只有一点:
sh表示脚本默认使用sh脚本解释器。
未指定脚本解释器默认为 ./。
具体解释:
使用“./”执行脚本,对应的xxx.sh脚本必须要有执行权限。
使用“sh” 执行脚本,对应的xxx.sh没有执行权限,亦可执行。
当脚本开头使用#!设置使用的shell类型时,使用“./”执行脚本时,则使用“#!”标志的shell执行脚本;若无使用“#!”标记,则使用系统设置的默认shell执行脚本。
扩展资料:
举例:
登录用户root查看权限:
-rwx―― 1 root root
执行这个shell脚本 :
./test 成功。
sh test 成功。
去掉执行权限x:
-rw――- 1 root root 17 2011-09-22 23:33 test
执行这个shell脚本。
./test 失败 (-bash: ./test: Permission denied)。
sh test 成功。
如果.不在PATH里面,要执行当前目录下的可执行文件,使用全路径:./executable-file如果要执行一个sh脚本,不管那个脚本有没有可执行权限,都可以使用:sh [file]这时file是作为参数传给sh的,如果file不在当前目录下,也需要使用全路径。全路径有绝对路径和相对路径两种。./和../开头的都是相对路径,分别表示”在当前目录下”和”在父目录下”。

文章标签:

本文链接:https://www.u1e.cn/baike/a/93e589b77c38ed748a3836e6 [复制]

猜你喜欢

歇后语大全

还没有人回应过