
正文
【Shell Basic】source . 与 bash sh 的区别
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
一、在命令行窗口执行shell脚本时,source .所执行的脚本中,变量的作用域在当前shell窗口期,而bash、sh在shell脚本执行完了就失效了。
dream361@master:~$ cat test.shuser='pwd' 当前的脚本内容dream361@master:~$ bash test.sh 用bash执行dream361@master:~$ echo $user 结果为空dream361@master:~$ . test.sh 用 source 或 执行dream361@master:~$ echo $user 结果为pwdpwd
二、执行一个脚本没有执行权限的脚本
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 输出变量值为lastlast[root@Mmaster1 ~]# unset user 清除变量值[root@Mmaster1 ~]# echo $user 输出为空[root@Mmaster1 ~]#






