Shell脚本运行的方法有一下几种:
一
. ./shellname.sh
二
source ./shellname.sh
三
chmod +x ./shellname.sh ./shellname.sh
四
sh ./shellname.sh
区别和相同点:
他们的相同点是都可以成功运行一个shell脚本。
而不同点有:
第一种方法:
.作用符:
使用方便,方便测试,不用加权限
abc[root@localhost shell_protest]# . ./printf.sh
1 abc
1 abc
abcdefabc
def
a b c
d e f
g h i
j
and 0
第二种方法:
source 文件名:
读取并在当前环境中执行脚本,同时还可返回脚本中最后一个命令的返回状态;如果没有返回值则返回 0,代表执行成功 .
[root@localhost shell_protest]# source ./output.sh
abc\n
abc
abc[root@localhost shell_protest]# echo $?
100
[root@localhost shell_protest]# cat ./output.sh
#!/bin/bash
echo "abc\n"
echo -e "abc\n"
echo -e "abc\c"
return 100
第三种方法:
改变文件的权限:
通过这种方式运行脚本,第一行一定要写对,系统才会查找到正确的解释器。可以在终端直接调用,系统给它查找合适的解释器
[root@localhost shell_protest]# chmod +x ./output.sh
[root@localhost shell_protest]# ./output.sh
abc\n
abc
第四种方法:
解释器 shellname.sh
直接运行解释器,其参数就是shell脚本的文件名。需要自己决定解释器,不需要在第一行写解释器
[root@localhost shell_protest]# bash ./output.sh
abc\n
abc