1. linux source命令的作用?
我们可能经常需要修改到诸如/etc/profile,~/.bash_profile等这样的配置文件,
一方面我们希望所作的修改在当前的环境中立即生效;
另一方面也希望所作的修改可以保存起来,以便于下次系统重新系统时仍然有效,
这时使用先在~/.bash_profile这样的配置文件中修改好,再source ~/.bash_profile即可。
如果直接使用export在当前shell环境下修改,其缺点是重新启动系统后修改会丢失;
如果你修改了配置文件,再重新启动系统以便让更改生效,显得太麻烦了。
source ~/.bash_profile与. ~/.bash_profile是等效的,所以source命令又称为点命令。

2. source ~/.bash_profile != sh ~/.bash_profile,为什么?
sh-# type source
source is a shell builtin
原因是source是linux builtin command,所以source ~/.bash_profile会在当前shell下执行;
而sh ~/.bash_profile会创建一个child process(sub shell)去执行,所以环境变量的更改设置
只会影响到sub shell。
通过实验来进行验证,写一个source_test.sh的script,
#!/bin/sh
export PATH=$PATH:/my_home
echo "$PATH"
在执行source_test.sh这个script前后分别用echo $PATH来查看path,会发现没有区别;
而如果source ./source_test.sh就会发现改动的$PATH在当前shell环境下生效了,
这验证了上述分析是正确的。

linux source命令学习的更多相关文章

  1. linux source命令与export命令的区别

    shell与export命令 用户登录到Linux系统后,系统将启动一个用户shell.在这个shell中,可以使用shell命令或声明变量,也可以创建并运行shell脚本程序.运行shell脚本程序 ...

  2. linux基础命令学习笔记(二)

    linux基础命令学习笔记(二) 1.kill :终止进程  kill pid (唯一标示一个进程) kill -9  强制终止  kill -15 命令未结束不能终止 # ps aux 查看所有进程 ...

  3. Linux source命令(转)

    Linux source命令: 通常用法:source filepath 或 . filepath 功能:使当前shell读入路径为filepath的shell文件并依次执行文件中的所有语句,通常用于 ...

  4. Linux source命令

    Linux source命令   Linux source命令: 通常用法:source filepath 或 . filepath 功能:使当前shell读入路径为filepath的shell文件并 ...

  5. Linux常用命令学习4---(挂载命令mount umount、用户登陆查看和用户交互命令 w who last lastlog)

    紧接着上一篇Linux的命令行的学习:Linux学习3---(文件的压缩和解压缩命令zip unzip tar.关机和重启命令shutdown reboot……) 1.挂载命令     简介      ...

  6. Linux常用命令学习

    1.ls命令 就是list的缩写,通过ls 命令不仅可以查看linux文件夹包含的文件,而且可以查看文件权限(包括目录.文件夹.文件权限)查看目录信息等等 常用参数搭配: ls -a 列出目录所有文 ...

  7. Linux Source命令及脚本的执行方式解析

    转 http://www.51testing.com/html/38/225738-206878.html 当我修改了/etc/profile文件,我想让它立刻生效,而不用重新登录:这时就想到用sou ...

  8. Linux Source命令及脚本的执行方式解析(转)

    当我修改了/etc/profile文件,我想让它立刻生效,而不用重新登录:这时就想到用source命令,如:source /etc/profile对source进行了学习,并且用它与sh 执行脚本进行 ...

  9. 【Linux】命令学习笔记和总结

    莫名的想学习一下Linux了,因为对这方面的知识储备为0.对于命令行界面始终是零接触零了解,对一个程序员来说这几乎是致命的,所以简单了解一下. 一.教程参考 参考菜鸟教程即可: Linux 教程 | ...

随机推荐

  1. Network Attack

    Network Attack Nicola regularly inspects the local networks for security issues. He uses a smart and ...

  2. 字符串转换为float<2>

    Configuration OK zjtest7-frontend:/usr/local/logstash-2.3.4/config# ../bin/logstash -f g01.conf Sett ...

  3. logstash 中的贪婪匹配

    logstash 中的贪婪匹配: 10.252.142.174 - - [06/Sep/2016:08:41:36 +0800] "GET /api/validate/code/send?m ...

  4. 查看Linux系统下Raid信息

    软件raid:只能通过Linux系统本身来查看 cat /proc/mdstat 可以看到raid级别,状态等信息. 硬件raid: 最佳的办法是通过已安装的raid厂商的管理工具来查看,有cmdli ...

  5. Fish’s mission

    Fish’s mission 也就是求一个坐标到各个食堂的距离和最小,随机化做应该也是可以的.标程用的方法是利用单调性,不断尝试四个方向,二分的方法做的.实际上就是蚁群退火算法. #include & ...

  6. Java中ThreadLocal无锁化线程封闭实现原理

    虽然现在可以说很多程序员会用ThreadLocal,但是我相信大多数程序员还不知道ThreadLocal,而使用ThreadLocal的程序员大多只是知道其然而不知其所以然,因此,使用ThreadLo ...

  7. onethink 验证码二维码不显示的问题

    常规思路: 1 检查GD和FreeType.在项目根目录(index.php同级)下放一个php文件 <?php echo phpinfo(); ?> 访问此文件,查看GD和FreeTyp ...

  8. 平时的笔记02:处理fnmatch模块

    # Copyright 2006 Joe Wreschnig## This program is free software; you can redistribute it and/or modif ...

  9. DM6437 dsp系列之启动过程全析(2)—AIS文件解析

    本文均属自己阅读源码的点滴总结,转账请注明出处谢谢. 欢迎和大家交流.qq:1037701636 email: gzzaigcn2009@163.com,gzzaigcn2012@gmail.com ...

  10. SmaterWeatherApi---签名加密和数据訪问--简单粗暴一步搞定

    -----------------------------------------------------更新-2014-07-09---------------------------------- ...