为什么 Shell 命令用 sh 和用 source 执行会不一样
答案:1 悬赏:70 手机版
解决时间 2021-03-24 13:58
- 提问者网友:泪痣哥哥
- 2021-03-24 07:05
为什么 Shell 命令用 sh 和用 source 执行会不一样
最佳答案
- 五星知识达人网友:青灯有味
- 2021-03-24 07:24
source 是在当前shell内执行 里的内容,所有的效果都会在当前shell内生效
sh 会启动新的shell并在新shell内执行 里的内容,执行完成后新shell就结束了,因此对当前shell没有影响
参考下面的例子
# 假定 a.sh 的内容如下
XYZ=100
# 如果用 source 执行,则当前shell内 XYZ 的值就会被设置
$ XYZ= # 清除 XYZ 值
$ source a.sh
$ echo $XYZ
100
# 如果用 sh 执行,则当前shell内 XYZ 不会被设置
$ XYZ= # 清除 XYZ 值
$ sh a.sh
$ echo $XYZ
# 打印为空
sh
参考下面的例子
# 假定 a.sh 的内容如下
XYZ=100
# 如果用 source 执行,则当前shell内 XYZ 的值就会被设置
$ XYZ= # 清除 XYZ 值
$ source a.sh
$ echo $XYZ
100
# 如果用 sh 执行,则当前shell内 XYZ 不会被设置
$ XYZ= # 清除 XYZ 值
$ sh a.sh
$ echo $XYZ
# 打印为空
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯