橘子味的心
标题:Shell 文件包含

如果 shell 要完成的功能比较少,可以把所有的 shell 脚本都写在一个文件里

但如果要完成的功能比较多,错综复杂,那么,把多个功能分隔在多个文件了里是明智之举

多个文件的功能要组合在一起,那么就必须要用到文件包含的机制

和其他语言一样,Shell 也可以包含外部脚本, 这样就可以很方便的把一些共用的代码封装到到独立的文件中

Shell 使用点号(.)或 source 实现文件包含机制

Shell 文件包含的语法格式如下:

. filename   # 注意点号(.)和文件名中间有一空格

source filename

范例

1. 首先创建两个 shell 脚本文件 demo1.shdemo2.sh

$ tree shell
shell
├── demo1.sh
└── demo2.sh

0 directories, 2 files

demo1.sh 代码如下:

#!/bin/bash
# author:简单编程(twle.cn)
# url:www.twle.cn

url_home="https://www.twle.cn"

demo2.sh 代码如下:

#!/bin/bash
# author:简单编程(twle.cn)
# url:www.twle.cn

#使用 . 号来引用 demo1.sh 文件
# . ./demo1.sh

# 或者使用以下包含文件代码
source ./demo1.sh

echo "简单教程官网地址:$url_home"

2. 接下来,为 demo2.sh 添加可执行权限

$ chmod +x demo2.sh 

3. 执行脚本

 ./demo2.sh
简单教程官网地址:https://www.twle.cn

注意: 被包含的文件 demo1.sh 不需要可执行权限,但需要可读权限

Shell 文件包含机制就是这么简单,一个 点号(.) 或 source 关键字就搞定

最佳实战

虽然 点号( . ) 或 source 关键字都能实现文件包含,但我们推荐使用 source 关键字

分类