zoukankan      html  css  js  c++  java
  • Linux命令——source

    参考:What does 'source' do?

    前言

    当我们修改了/etc/profile文件,并想让它立刻生效,而不用重新登录,就可以使用source命令,如source /etc/profile。

    source命令

    source是一个内建命令。下面命令执行环境是Ubuntu 16.04.3 LTS下的bash。事实上source命令并不是bash(Bourne shell)内置的,他是GNU项目后来扩展引入的。其他shell不确定是否有source命令。

    Linux命令——type、which、whatis、apropos、whereis、find

    root@ubuntu:~# type source 
    source is a shell builtin
    View Code

    除了type可以查看source,help命令也可以

    root@ubuntu:~# help source 
    source: source filename [arguments]
        Execute commands from a file in the current shell.
        
        Read and execute commands from FILENAME in the current shell.  The
        entries in $PATH are used to find the directory containing FILENAME.
        If any ARGUMENTS are supplied, they become the positional parameters
        when FILENAME is executed.
        
        Exit Status:
        Returns the status of the last command executed in FILENAME; fails if
        FILENAME cannot be read.
    View Code

    但是man,whatis命令就不可以查看source命令了

    root@ubuntu:~# man source
    No manual entry for source
    root@ubuntu:~# whatis source
    source: nothing appropriate.
    View Code

    考虑到和其他shell的兼容性,最好使用点号 . 。点号.是source的同义词,为啥使用source而不是.,可能的原因是:写.有时候看起来像是写错了的命令,用source更直观。

    但是从简洁的角度看,实在没必要打那么多字来实现一个和.一样的功能

    ./ 和 source 不完全一样

    • ./script runs the script as an executable file, launching a new shell to run it
    • source script reads and executes commands from filename in the current shell environment

    Note: ./script is not  . script, but . script == source script

  • 相关阅读:
    VRChat之blender教程
    29(30).socket网络基础
    26(27).反射及面向对象进阶
    25.python之面向对象
    24.configparser&hashlib
    23.logging
    22.re(正则表达式)
    22.XML
    java日志系统 @Slf4j注解的正确使用
    java四种元注解:@Retention @Target @Document @Inherited)认知
  • 原文地址:https://www.cnblogs.com/kelamoyujuzhen/p/9801501.html
Copyright © 2011-2022 走看看