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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值