source 有一个简写形式,可以使用一个点(.)来表示,比如. test.sh和source test.sh是一样的。 source./lib.shfunction_from_lib export 命令常用来修改环境变量,比如执行export PATH=$PATH:~,那么就可以在任何目录下执行 test.sh 脚本,因为 Linux 会去 PATH 变量包含的路径下寻找 test.sh,如果存在多个 test.s...
与FUNCNAME相似的另外一个比较有用的常量是BASH_SOURCE,同样是一个数组,不过它的第一个元素是当前脚本的名称。这在source的时候非常有用,因为在被source的脚本中,$0是父脚本的名称,而不是被source的脚本名称。而BASH_SOURCE就可以派上用场了。 1 # If the script is sourced by another script 2 if [ -n ...
path=${BASH_SOURCE[0]} 2. dirname 去除文件名中的非目录部分,仅显示与目录有关的部分 如/home/abc/test.sh 内容如下: #!/bin/bash echo "${BASH_SOURCE[0]}" echo "${BASH_SOURCE}" echo "$(dirname"${BASH_SOURCE[0]}")" echo "$(cd "${ dirname BASH_SOURCE[0]}" && pwd)" 若在当...
在学习bash shell的过程中,bash、sh、source及英文输入状态下的点号经常交替出现,他们看起来作用都差不多,但是深究下去,他们也有着不小的区别与联系。下面就让我们以具体实验来看一下它们之间的区别与联系吧! 一、查看当前系统支持的shell类型 代码语言:javascript 复制 [root@Geeklp-BashShell~]# cat/etc/shells/b...
Bash之source命令详解 源命令有两种形式,均以一个脚本为参数,使其在当前shell环境下执行,而不会启动新的子进程。这样,脚本中的变量会成为当前shell的一部分。源命令的主要功能在于执行脚本,不会独立启动进程。通过基础语法,我们可将需要执行的脚本作为参数传递给source命令。例如:source /path/to/...
Linux下的bash,source与./的区别 一、运行linux的三种方法 1 :使文件具有可执行权限,直接运行文件 2:直接调用命令解释器执行程序 3: 使用source执行程序 二、shell的命令和种类 Linux shell可执行的命令有3种,内建命令、shell函数和外部命令,其中,shell执行内建命令时,没有进程的创建和消亡,而执行外部命令时,存在...
source命令(从CShell而来)是bashshell的内置命令,也称为点命令。点命令,就是一个点符号,(从BourneShell而来)是source的另一名称。这两个命令都以一个shell脚本为参数,该脚本将作为当前shell的环境执行,即不会启动一个新的子进程。所有在脚本中设置的变量将成为当前shell的一部分。同样的,当前脚本中设置的变量也将...
用bash调用脚本的时候会创建一个和自己一模一样的shell子进程来执行这个外部命令。这个子进程中设置了自己的运行的环境变量。而在此时,父进程的环境变量并没有改变 用source来执行脚本的时候,不会创建子进程,而是在父进程中直接执行。所以当需要程序修改当前shell本身的环境变量的时候,使用source命令 加载...
source命令(从 C Shell 而来)是bash shell的内置命令。 点命令,就是个点符号,(从Bourne Shell而来)。 2、sh和bash命令用法: sh FileName bash FileName 作用: 打开新的子shell,读取并执行FileName中的命令。该filename文件可以无“执行权限” 注:两者在执行文件时的不同,是分别用自己的shell来跑文件。
参考bash少见的用法http://blog.csdn.net/wonderisland/article/details/22892759。 原有项目里自带的启动脚本用到了bash_source获取脚本名称,最后使用如下方式启动程序。 nohup nice -n $APP_NICENESS "${this}" $command "$@" > "$log" 2>&1 < /dev/null & ...