shell中source的作用

source命令用法
source FileName


source命令作用
在当前bash环境下读取并执行FileName中的命令。

*注:该命令通常用命令“.”来替代。

使用范例:
1 source filename
2 . filename(中间有空格)

当在一个脚本中想要调用其它shell脚本的时候就需要用到source命令。

lib1.sh

# !/bin/bash
# set -u 
# lib1.sh
function func1()
{
  echo "func1: BASH_SOURCE0 is ${BASH_SOURCE[0]}"
  echo "func1: BASH_SOURCE1 is ${BASH_SOURCE[1]}"
  echo "func1: BASH_SOURCE2 is ${BASH_SOURCE[2]}"
  func2
}


lib2.sh

# !/bin/bash
# set -u 
# lib2.sh
function func2()
{
  echo "func2: BASH_SOURCE0 is ${BASH_SOURCE[0]}"
  echo "func2: BASH_SOURCE1 is ${BASH_SOURCE[1]}"
  echo "func2: BASH_SOURCE2 is ${BASH_SOURCE[2]}"
}

main.sh

#!/bin/bash
# main.sh
# source FileName 在当前bash环境下读取并执行FileName中的命令。该filename文件可以无"执行权限"
source lib1.sh
source lib2.sh

func1

猜你喜欢

转载自blog.csdn.net/u013528298/article/details/113174394