Shell 文件包含
如果 shell 要完成的功能比较少,可以把所有的 shell 脚本都写在一个文件里
但如果要完成的功能比较多,错综复杂,那么,把多个功能分隔在多个文件了里是明智之举
多个文件的功能要组合在一起,那么就必须要用到文件包含的机制
和其他语言一样,Shell 也可以包含外部脚本, 这样就可以很方便的把一些共用的代码封装到到独立的文件中
Shell 使用点号(.)或 source 实现文件包含机制
Shell 文件包含的语法格式如下:
. filename # 注意点号(.)和文件名中间有一空格
或
source filename
范例
1. 首先创建两个 shell 脚本文件 demo1.sh
和 demo2.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
关键字