shell中 source命令即点空格后面再跟可执行文件的说明
来源:互联网 发布:点样开淘宝网店 编辑:程序博客网 时间:2024/06/05 18:07
这里记录的是在一个shell脚本里面使用
. ./file.sh 和
./file.sh 的区别,本文参考了http://www.lslnet.com/linux/dosc1/39/linux-283534.htm (这个蓝森林的东西应该是来源于chinaunix)
来个小实验
场景一:
vi file1.sh
./file2.sh
echo $NIVEK
vi file2.sh
NIVEK=goupi
export NIVEK
chmod 755 file1.sh file2.sh
$./file1.sh
//没有任何输出
$
场景二:
vi 1file.sh
. ./2file.sh
echo $NIVEK
vi 2file.sh
NIVEK=goupi
export NIVEK
chmod 755 1file.sh 2file.sh
$./1file.sh
goupi //在2file.sh里面export 的变量NIVEK的值
$
由此可以看到它们的区别,即
./file.sh 将重启一个新的子shell来执行它,所以如果在file.sh中定义的一些变量(export)只在子shell有作用,返回后将失去作用.
. ./file.sh 不启动新的shell,在当前shell中执行,所以在file.sh中定义的变量返回后依然有作用.
再看一下这个简单的例子:
cat 1.sh
#!/bin/bash
sleep 1
exit 1
cat test1.sh
#!/bin/bash
./1.sh
echo "can you see me"
cat test2.sh
#!/bin/bash
. ./1.sh
echo "can you see me"
分别执行test1.sh, test2.sh从它们的区别里面可以看到一些不同
. ./file.sh 和
./file.sh 的区别,本文参考了http://www.lslnet.com/linux/dosc1/39/linux-283534.htm (这个蓝森林的东西应该是来源于chinaunix)
来个小实验
场景一:
vi file1.sh
./file2.sh
echo $NIVEK
vi file2.sh
NIVEK=goupi
export NIVEK
chmod 755 file1.sh file2.sh
$./file1.sh
//没有任何输出
$
场景二:
vi 1file.sh
. ./2file.sh
echo $NIVEK
vi 2file.sh
NIVEK=goupi
export NIVEK
chmod 755 1file.sh 2file.sh
$./1file.sh
goupi //在2file.sh里面export 的变量NIVEK的值
$
由此可以看到它们的区别,即
./file.sh 将重启一个新的子shell来执行它,所以如果在file.sh中定义的一些变量(export)只在子shell有作用,返回后将失去作用.
. ./file.sh 不启动新的shell,在当前shell中执行,所以在file.sh中定义的变量返回后依然有作用.
再看一下这个简单的例子:
cat 1.sh
#!/bin/bash
sleep 1
exit 1
cat test1.sh
#!/bin/bash
./1.sh
echo "can you see me"
cat test2.sh
#!/bin/bash
. ./1.sh
echo "can you see me"
分别执行test1.sh, test2.sh从它们的区别里面可以看到一些不同
0 0
- shell中 source命令即点空格后面再跟可执行文件的说明
- Linux shell中source与点命令的区别
- shell中source命令和.点命令对当前父shell的影响
- shell中if语句后面的[和]的左右空格
- java方面中,参数后面跟三个点(...)的含义
- java方面中,参数后面跟三个点(...)的含义
- java方面中,参数后面跟三个点(...)的含义
- JAVA中类型后面跟三个点的使用问题
- JAVA中类型后面跟三个点
- shell中的点命令与source命令的区别
- shell中的点命令与source命令的区别
- shell中的点命令与source命令的区别
- shell中的点命令与source命令的区别
- shell中source命令
- shell中的点命令与source命令
- shell中的点命令与source命令
- shell中的点命令与source命令
- shell命令后面的数字
- 当月亮再圆
- DWR高级主题之反向Ajax(DWR3的轮询模式演示1)
- Qt中的容器类 QList QLinkedList QVector..遍历及相关
- java 传值和传引用
- SeaJS使用教程指南
- shell中 source命令即点空格后面再跟可执行文件的说明
- shell sed用法
- vim的部分补完,纯写给自己
- PipedInputStream,PipedOutputStream源码分析
- DWR高级主题之反向Ajax(DWR3的comat模式演示1)
- <增强现实> Metaio扫描图片要求(Image Tracking)
- SQL Server数据库视图
- 汉字按照拼音排序
- 软件定义闪存需要灵活的处理器架构