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

  • 相关阅读:
    语句结构1练习
    语句结构(1)
    常用dos命令(4)
    常用dos命令(3)
    常用dos命令(2)
    常用dos命令(1)
    因式分解 · Factor Combinations
    电话号码的字母组合 · Letter Combinations of a Phone Number
    286 walls and gate最近的出口
    286被围绕的区域 · Surrounded Regions
  • 原文地址:https://www.cnblogs.com/kelamoyujuzhen/p/9801501.html
Copyright © 2011-2022 走看看