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


  • 相关阅读:
    HTTP报文详解
    常用的HTTP协议
    URL详解
    一起切磋
    emacs使用指南
    SSH自动部署
    linux上应用随机启动
    让Maven正确处理javac警告
    最近的学习
    Java application 性能分析分享
  • 原文地址:https://www.cnblogs.com/zhengwenqiang/p/6804576.html
Copyright © 2011-2022 走看看