bash mybat.sh
)的情况下,每次执行脚本时都会开启一个子shell,因此不保留当前的shell变量;./mybat.sh
、source mybat.sh
),在当前shell环境加载脚本,因此保留脚本中的变量;例如:
有脚本文件内容为
#!/bin/bash
name="cxk"
在终端中用bash命令调用该脚本后,echo ${name},会发现name为空。
但若用source或者 . 调用,再echo ${name},会返回cxk
作者:码鸽
链接:https://code-pigeon.github.io/blog/html/【Linux笔记】执行bash三种方式的区别.html
版权声明:博客所有原创内容(包括但不限于文章、图像等)除特别声明外,均采用CC BY-NC-SA 4.0国际许可协议。任何人均可自由传播,但禁止用于商业用途且必须署名并以相同方式分享。