zoukankan      html  css  js  c++  java
  • 【Shell Basic】source . 与 bash sh 的区别

    一、在命令行窗口执行shell脚本时,source .所执行的脚本中,变量的作用域在当前shell窗口期,而bash、sh在shell脚本执行完了就失效了。

    dream361@master:~$ cat test.sh 
    user='pwd'   当前的脚本内容
    dream361@master:~$ bash test.sh  用bash执行
    dream361@master:~$ echo $user  结果为空
    dream361@master:~$ . test.sh  用 source 或 执行
    dream361@master:~$ echo $user  结果为pwd
    pwd

    二、执行一个脚本没有执行权限的脚本
    1. 用 bash、sh
    2. source 、.

    3. chmod u+x test.sh 然后就可以用 绝对路径或相对路径执行此脚本

    [root@Mmaster1 ~]# cat testSource.sh 查看此脚本内容
    user='last'
    [root@Mmaster1 ~]# unset user 清除变量值
    [root@Mmaster1 ~]# echo $user 输出为空
    
    [root@Mmaster1 ~]# source testSource.sh 执行赋值操作 
    [root@Mmaster1 ~]# echo $user 输出变量值为last
    last
    [root@Mmaster1 ~]# unset user 清除变量值
    [root@Mmaster1 ~]# echo $user 输出为空
    [root@Mmaster1 ~]# 


  • 相关阅读:
    2018.6.8 现代企业管理复习总结
    写时复制
    字符串类示例
    信号量示例
    对象赋值的语义
    对象复制的语义
    无用单元和悬挂引用
    初始化
    静态数据成员,静态成员函数
    同时找出最大数和最小数
  • 原文地址:https://www.cnblogs.com/zhengwenqiang/p/6804576.html
Copyright © 2011-2022 走看看