zoukankan      html  css  js  c++  java
  • Linux中source命令的使用方式

    source命令是一个内置的shell命令,用于从当前shell会话中的文件读取和执行命令。source命令通常用于保留、更改当前shell中的环境变量。简而言之,source一个脚本,将会在当前shell中运行execute命令。

    source命令可用于:

    • 刷新当前的shell环境
    • 在当前环境使用source执行Shell脚本
    • 从脚本中导入环境中一个Shell函数
    • 从另一个Shell脚本中读取变量
    source命令的语法

    source命令它需要一个文件,如果提供了参数,那么将用作传递脚本的位置参数。

    source FILENAME [ARGUMENTS]
    

    也可以使用.替代source命令:

    . FILENAME [ARGUMENTS]
    
    如何使用source命令
    1. 刷新当前的shell环境

    可以在当前的shell环境中定义一个别名。为ls -al定义一个别名为ll

    [root@localhost ~]# echo "alias ll='ls -al'" >> ~/.bashrc 
    

    在~/.bashrc文件中定义完别名,可以使用source命令刷新当前shell环境:

    [root@localhost ~]# source ~/.bashrc 
    

    现在可以使用ll别名列出当前目录里所有文件了,包括隐藏文件。
    Linux中source命令的使用方式Linux中source命令的使用方式

    2. 在当前环境使用source执行Shell脚本

    Shell脚本不知道你在当前Shell环境中定义的变量。source命令可用于在当前会话中执行你的Shell脚本。

    下面在定义一个变量:

    [root@localhost ~]# website=https://www.linuxprobe.com
    

    Linux中source命令的使用方式Linux中source命令的使用方式
    创建一个脚本:

    [root@localhost ~]# vim web.sh 
    
    #!/bin/bash
    echo $website
    

    Linux中source命令的使用方式Linux中source命令的使用方式
    使用source在当前shell会话中执行它:

    [root@localhost ~]# source web.sh 
    https://www.linuxprobe.com
    

    Linux中source命令的使用方式Linux中source命令的使用方式
    当使用sh运行脚本时,找不到环境中定义的变量:
    Linux中source命令的使用方式Linux中source命令的使用方式

    3. 从脚本中导入环境中一个Shell函数

    首先创建一个脚本,定义一个函数:

    [root@localhost ~]# vim func.sh
    
    #!/bin/bash
    foo(){
      echo "test function!"
    }
    

    Linux中source命令的使用方式Linux中source命令的使用方式
    要在当前的shell会话中导入上述脚本的功能,使用下面命令:

    [root@localhost ~]# source func.sh 
    

    下面在终端中执行以下func.sh脚本中的foo函数试试:

    [root@localhost ~]# foo
    test function!
    

    Linux中source命令的使用方式Linux中source命令的使用方式
    source完脚本之后,可以看到在当前回话的终端中可以执行脚本里面的函数。

    4. 从另一个Shell脚本中读取变量

    首先创建带有一些变量的shell脚本,请输入:

    [root@localhost ~]# vim var.sh
    
    #!/bin/bash
    a=1
    b=2
    c=3
    

    Linux中source命令的使用方式Linux中source命令的使用方式
    再创建一个脚本,该脚本读取上一个脚本var.sh中的变量:

    [root@localhost ~]# vim read.sh 
    
    #!/bin/bash
    source ~/var.sh
    echo $a
    echo $b
    echo $c
    

    在脚本中首先使用source将var.sh中的变量到处到当前回话,然后echo显示变量值。下面执行read.sh看一下:
    Linux中source命令的使用方式Linux中source命令的使用方式

    5. 读取并执行命令

    source命令可以从文件读取和执行命令。下面的一个文本文件中带有两个命令,使用source命令运行该文件,看看是否会执行里面的命令。

    下面创建一个文件cmd.txt,保存两个命令:

    [root@localhost ~]# cat cmd.txt 
    ip ad
    date
    

    下面使用source执行这个文件:

    [root@localhost ~]# source cmd.txt 
    

    Linux中source命令的使用方式Linux中source命令的使用方式

    总结

    source命令在当前shell中执行脚本,而exec命令在新的shell中运行。

  • 相关阅读:
    SDNU 1219.sign up problem
    SDNU 1232.A*B Problem(高精度)
    Go操作MySQL
    BootStrap jQuery 在线cdn
    Go语言标准库之http/template
    Go语言基础之net/http
    Go语言基础之网络编程
    Go语言基础之单元测试
    Go语言基础之rand(随机数)包
    Go语言基础之并发
  • 原文地址:https://www.cnblogs.com/linuxprobe/p/15419003.html
Copyright © 2011-2022 走看看