您的位置:首页 > 运维架构 > Shell

shell启动程序的四种方式

2017-11-22 15:49 369 查看
需要执行script.sh 文件

方式一:
./script.sh 

执行shell脚本时是在当前shell(称为父shell)开启一个子shell环境,此shell脚本就在这个子shell环境中执行。shell脚本执行完后子shell环境随即关闭,然后又回到父shell中.子进程中的各项变量在子进程结束后不会影响到父进程。如下,执行完该脚本后,当前shell进行并不会存在KKK这个变量

#!/bin/sh
echo "hello"
export KKK=123 
方式二:
sh script.sh 或 bash script.sh

和方式一相同

方式三:
source script.sh

执行shell脚本时是在当前shell中执行的,脚本中的各项变量在脚本结束后仍然存在。比如上面的脚本,在执行source script.sh后,当前shell中会存在KKK=123这个变量。

方式四:
exec script.sh
shell的内建命令,exec将并不启动新的shell,而是用要被执行命令替换当前的shell进程,并且将老进程的环境清理掉,而且exec命令后的其它命令将不再执行。也就是说当命令结束后,会自动退出当前的shell环境。
如下,通过exec 执行ps命令时,结束后,系统自动的退出了shell.

root@imx6:~# exec ps                                                            
  PID USER       VSZ STAT COMMAND                                               
    1 root      1712 S    init [5]                                              
    2 root         0 SW   [kthreadd]                                            
    3 root         0 SW   [ksoftirqd/0]                                         
    5 root         0 SW<  [kworker/0:0H]                                        
                                                                                                                                                                               
imx6 login:        
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux shell 启动