S01.shell脚本在子 shell和当前shell执行的区别

简单测试脚本如下

#!/bin/bash
cd /home
ls

执行顺序如

子shell命令自行的方式:
[root@python shell]# sh subshell.sh 
wuziqicli
[root@python shell]# bash subshell.sh 
wuziqicli
[root@python shell]# ./subshell.sh 
wuziqicli

在当前shell中执行
[root@python shell]# . subshell.sh 
wuziqicli
[root@python shell]# source subshell.sh 
wuziqicli

结论

经过执行过程发现,使用子shell(相当于在执行脚本的时候在开启一个shell)执行完某个脚本之后,最终还是会返回到初始shell的,在当前shell中执行,会直接切换到cd的某个地方,影响本地shell的运行环境

posted @ 2022-11-04 10:47  Mr-呵呵哒  阅读(120)  评论(0编辑  收藏  举报