bash脚本中dot的用法

时间:2014-04-15 13:24:59

标签: bash

以下代码段的第8行中的点是什么意思,来自Mac OS X Mavericks终端中/etc/profile的来源。

  1 # System-wide .profile for sh(1)
  2 
  3 if [ -x /usr/libexec/path_helper ]; then
  4         eval `/usr/libexec/path_helper -s`
  5 fi
  6 
  7 if [ "${BASH-no}" != "no" ]; then
  8         [ -r /etc/bashrc ] && . /etc/bashrc
  9 fi

2 个答案:

答案 0 :(得分:4)

在bash中,.是拼写source的另一种方式。所以这一行与此相同:

# System-wide .profile for sh(1)

if [ -x /usr/libexec/path_helper ]; then
        eval `/usr/libexec/path_helper -s`
fi

if [ "${BASH-no}" != "no" ]; then
        [ -r /etc/bashrc ] && source /etc/bashrc
fi

source将文件解释为内容包含在source命令的位置。执行它的不同之处在于它可以设置alias或定义function或变量。

答案 1 :(得分:2)

根据Bash Prompt HOWTO

  

当文件来源时(通过输入source filename或.filename)   在命令行),文件中的代码行就像执行一样   它们是在命令行打印的。这特别有用   具有复杂的提示,允许它们存储在文件中并被调用   通过寻找他们所在的文件来获取。