source脚本
❶ 如何获得sh或source执行的shell脚本位置
1) 支持从其他目录执行,如 source xxx/yyy/test.sh
1) 支持 sh 和 source 执行
2) 支持路径中有空格
3) 支持 zsh 跟 bash
#!/bin/sh
if [ "$0" = "bash" ]; then
cd "$(dirname "$BASH_SOURCE")"
CUR_FILE=$(pwd)/$(basename "$BASH_SOURCE")
CUR_DIR=$(dirname "$CUR_FILE")
cd - > /dev/null
else
echo "$0" | grep -q "$PWD"
if [ $? -eq 0 ]; then
CUR_FILE=$0
else
CUR_FILE=$(pwd)/$0
fi
CUR_DIR=$(dirname "$CUR_FILE")
fi
echo $CUR_DIR
❷ shell中source和sh script的区别
主要区别,source是在当前的shell下运行文件内容,而sh或bash或其他shell+脚本文件,是在新的shell中执行。
可以在脚本文件中只写上变量赋值,如a=12,来进行验证:
在最初,echo $a 是空值或其他值,运行sh 脚本名 之后,再echo一下,a的值没有变,
而使用source 脚本名之后,echo $a 则显示12,它的值变化了。
source一般用于执行一些配置文件,比如.bashrc等,比如默认可能没有ll命令,在.bashrc中可以设置alias ll='ls -alF',source运行一下,就不用退出当前shell重新打开 就可以使用ll命令了。
❸ 什么叫source导入脚本
source命令是bash的内置命令。source通常用于重新执行刚修改的初始化文档,如 .bashrc .bash_profile .profile 等等。
例如对 .bash_profile 中的TERM变量做了修改,则能够用source命令重新执行 .bash_profile 中的命令而不用注销并重新登录。就是source导入脚本 。
source导入脚本 就可以使系统重新读取配置文件。如你更改了.bashrc,如不重新登录的话,变动是不会生效的。但你又不想重新登录,那怎办呢???
就可以使用
source .bashrc
所有的改动现在已经生效了。
source命令用法:
source File
在当前bash环境下读取并执行File中的命令。
❹ linux下的Source命令的基本功能
source命令用法:source FileName
作用:在当前bash环境下读取并执行FileName中的命令。
注:该命令通常用命令".”来替代。
使用范例:
1、source filename
2、. filename#(中间有空格)
source命令(从 C Shell 而来)是bash shell的内置命令。点命令,就是个点符号,(从Bourne Shell而来)是source的另一名称。
同样的,当前脚本中配置的变量也将作为脚本的环境,source(或点)命令通常用于重新执行刚修改的初始化文档,如 .bash_profile 和 .profile 等等。
例如,假如在登录后对 .bash_profile 中的 EDITER 和 TERM 变量做了修改,则能够用source命令重新执行 .bash_profile 中的命令而不用注销并重新登录。
比如在一个脚本里export $KKK=111,假如用./a.sh执行该脚本,执行完毕后,运行echo $KKK,发现没有值,假如用source来执行 ,然后再echo,就会发现KKK=111。
因为调用./a.sh来执行shell是在一个子shell里运行的,所以执行后,结构并没有反应到父shell里,但是source不同他就是在本shell中执行的,所以能够看到结果。
source命令(从 C Shell 而来)是bash shell的内置命令。点命令,就是一个点符号,(从Bourne Shell而来)是source的另一名称。
这两个命令都以一个脚本为参数,该脚本将作为当前shell的环境执行,即不会启动一个新的子进程。所有在脚本中设置的变量将成为当前Shell的一部分。
文件建立好之后,以后每次编译核心,只需要在/usr/src/linux-2.4.20下输入source make_command就行了。这个文件也完全可以做成脚本,只需稍加改动即可。
shell编程中的命令有时和C语言是一样的。&&表示与,||表示或。把两个命令用&&联接起来,如make mrproper && make menuconfig,表示要第一个命令执行成功才能执行第二个命令。
对执行顺序有要求的命令能保证一旦有错误发生,下面的命令不会盲目地继续执行。
❺ shell脚本里的source命令怎么使用
比如要把另一个shell脚本或者文件调用进来
source other.sh
❻ 用source命令执行脚本和用sh执行脚本之间的区别
source命令执行脚本,意味着在当前shell执行。对当前环境变量的值有影响。 sh命令执行脚本,会在新建shell中执行。不会改变当前环境变量的值。
❼ 用source命令执行脚本和用sh执行脚本之间的区别
source命令执行脚本,意味着在当前shell执行。对当前环境变量的值有影响。
sh命令执行脚本,会在新建shell中执行。不会改变当前环境变量的值。
❽ linux下的source命令的作用是什么
source是用来执行脚本程序的,也可以使用.来代替。例如你有个脚本文件叫test.sh,你可以这样运行
source test.sh
或者
. test.sh