1、 作为解释器参数
[root@banking /]# vi /tmp/test.sh
脚本内容如下:
islost=K.O
echo $islost
[root@banking /]# bash /tmp/test.sh
也可以用sh /tmp/test.sh
2、作为可执行程序
这种方式运行的脚本,需要在第一行指定解释器信息,让系统查找到正确的解释器。
脚本内容如下:
#!/bin/bash
islost=K.O
echo $islost
a、. (空格) 相对或绝对方式
[root@banking /]# . ./test.sh
[root@banking /]# . /tmp/test.sh
点号 . 用于执行某个脚本,没有可执行权限也可以
b、source (空格) 相对或绝对方式
与 . 类似,source 命令也可读取并在当前环境中执行脚本,同时还可返回脚本中最后一个命令的返回状态;如果没有返回值则返回 0,代表执行成功;如果未找到指定的脚本则返回 false
以下面两种方式执行脚本时,除增加第一行外,脚本同时还必须有可执行权限
chmod +x /path/to/test.sh
c、相对或绝对路径方式。相对路径方式需先cd到脚本路径下
[root@banking tmp]# cd /tmp
[root@banking tmp]# ./test.sh
或
[root@banking tmp]# /tmp/test.sh
使用 . 或者 source 使脚本内容在当前shell里执行,不是单独开子shell执行;而其他方式都是在当前shell中打开一个子shell来执行脚本内容,当脚本内容结束,则子shell关闭,回到父shell中
https://m.jb51.net/article/66824.htm
http://c.biancheng.net/view/739.html