• [Linux]常用命令之【source】


    source 命令概述

    source命令用法:source FileName

    • 简述

    source命令(从 C Shell 而来)是bash shell的内置命令。
    source又称:"点命令",是一个点符号。"点命令",就是个点符号————.,(从Bourne Shell而来)是source的另一名称。因此,该命令通常也可用命令"."来替代。

    例如:source .bash_rc. .bash_rc ,二者等效

    同样的,当前脚本中配置的变量也将作为脚本的环境,source(或点)命令通常用于重新执行刚修改的初始化文档,如 .bash_profile 和 .profile 等等。

    例如,假如在登录后对 .bash_profile 中的 EDITER 和 TERM 变量做了修改,则能够用source命令重新执行 .bash_profile 中的命令而不用注销并重新登录。
    例如,在一个脚本里export $KKK=111 ,假如用./a.sh执行该脚本,执行完毕后,运行 echo $KKK,发现没有值,假如用source来执行 ,然后再echo,就会发现KKK=111。

    • 作用

    在当前bash环境下读取、并执行FileName中的命令。常用于重新执行刚修改的初始化文件。
    如:/etc/profile(系统环境变量,修改会对所有用户起作用) ; ~/.bash_profile(用户环境变量,针对当前用户) ; bashrc?
    通过 source命令 在不重启的情况下使文件生效。

    • 使用范例
    source filename
    
    或 (等效于)
    
    . filename
    

    这两个命令都以一个脚本文件为参数,该脚本将作为当前shell的环境执行,即不会启动一个新的子进程。
    所有在脚本中设置的变量将成为当前Shell的一部分。

    source /etc/profile                   #执行/etc/profile文件,使其生效
    

    辨析: source filename | sh filename | ./filename

    本片段参考文献: Linux下source命令详解 - 博客园

    1. 当shell脚本具有可执行权限时,用sh filename与./filename执行脚本是没有区别得。./filename是因为当前目录没有在PATH中,所有”.”是用来表示当前目录的。
    
    2. sh filename 重新建立一个子shell,在子shell中执行脚本里面的语句,该子shell继承父shell的环境变量,但子shell新建的、改变的变量不会被带回父shell,除非使用export。
    
    3. source filename:这个命令其实只是简单地读取脚本里面的语句依次在当前shell里面执行,没有建立新的子shell。那么脚本里面所有新建、改变变量的语句都会保存在当前shell里面。
    

    X 参考文献

  • 相关阅读:
    让tabgroup在下方显示
    titanium好的学习网站推荐
    代码积累
    Ti.include和require的异同
    Titanium基本介绍
    Java微信支付开发之扫码支付模式一
    Java微信公众平台开发之用户管理(用户基本信息和关注列表)
    Java微信支付开发之公众号支付(微信内H5调起支付)
    Java微信公众平台开发之自定义菜单
    Java微信支付开发之扫码支付模式二
  • 原文地址:https://www.cnblogs.com/johnnyzen/p/13792237.html
Copyright © 2020-2023  润新知