码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • source 命令的用法(与 sh Filename、./Filename的区别)


    source 命令简单来说,就是读取脚本里的语句,并在当前Shell中执行,脚本里面所有新建、改变变量的语句都会保存在当前shell里。


    目录

    1、source 命令的使用方法

    2、source命令的妙用 

    3、source Filename 和 ./Filename的区别


    1、source 命令的使用方法

    语法格式:source  脚本文件名  或者  . filename (. 和 filename之间有空格)

    1. # 使用source来执行 variable.sh 脚本
    2. linux@linux:~/Templates$ source variable.sh
    3. # 在命令行打印 variable.sh 脚本里的变量
    4. linux@linux:~/Templates$ echo $COUNT
    5. 1

    因为是直接读取脚本内容到当前Shell执行,所以创建的变量可以直接在当前Shell 中使用。

    但是如果新开一个终端窗口,相当于一个新的Shell,不会拷贝上一个窗口的环境。 

    2、source命令的妙用 

    source命令的作用是读取脚本里的语句,并在当前Shell中执行,即便对方不是脚本,只是一个具有执行权限的普通文件,source命令依然会执行里面的语句。有的时候我们需要频繁敲一些比较长而且繁琐的命令,这个时候就可以使用source 命令

    比如有一个 myCommand 文件(里面暂时放一些简单的命令)

    1. # myCommand 文件
    2. ps jax | grep mytest
    3. ls -al
    4. pwd

     我们使用source命令来执行这个文件(注意这个文件必须要有执行权限)

     

    3、source Filename 和 ./Filename的区别

    当一个文件具有执行权限的时候,sh  Filename 和 ./Filename 没有区别,下面主要比对source Filename 和 ./Filename的区别:

    • source Filename:读取脚本里的语句,并在当前Shell中执行。脚本里面所有新建、改变变量的语句都会保存在当前shell里

    • ./Filename:创建一个新的子Shell,并在子Shell中执行。子Shell会继承父Shell的环境,但是子Shell对变量的创建、修改不会更新到父Shell
      • 即便使用export也不会影响到父Shell的环境
      • 父Shell对变量的修改会更新到子Shell
      • 父Shell可以影响子Shell,但子Shell无法影响到父Shell

  • 相关阅读:
    BEV(Bird’s-eye-view)三部曲之二:方法详解
    java IO流【常用流对象一】
    免费的秘密:免费,不是真的免费,是看起来像免费……
    齐岳定制|Tetrazine-PEG-Fucoidan|四嗪-聚乙二醇-岩藻多糖|四嗪PEG修饰岩藻多糖
    call\apply\bind详解
    适合大学生的笔记软件评测:云笔记.离线笔记、手写笔记、写作软件
    《动手学深度学习 Pytorch版》 6.3 填充和步幅
    liunx中如何启动redis
    物理学家用AI改写教科书!质子中发现新的夸克,可能性高达99.7%
    join、inner join、left join、right join的区别
  • 原文地址:https://blog.csdn.net/challenglistic/article/details/127884514
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号