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 ~]# 


  • 相关阅读:
    XML 约束
    XML 高级
    XML 基础
    XML系列【目录】
    Java11 新特性
    Java10 新特性
    Java9 新特性 (二)语法改进
    Java9 新特性 (一)新增特性
    第一章:Class 文件结构
    java面试题全集(上)--java基础
  • 原文地址:https://www.cnblogs.com/zhengwenqiang/p/6804576.html
Copyright © 2011-2022 走看看