首页 > 系统服务 > 详细

一个shell脚本弄清楚不同运行方法的不同

时间:2021-09-13 16:59:08      阅读:34      评论:0      收藏:0      [点我收藏+]

  为了弄清楚shell脚本的运行原理,主要有三种运行方式

 1 #!/usr/bin/bash
 2 echo hello world!                                                       
 3 
 4 echo $admin
 5 
 6 echo $1
 7 echo $0

0、准备工作:

 $ admin="gg"

1、路径执行方式,包括相对路径和绝对路径两种

 $ shellCode/hello.sh  guo

hello world!

guo
shellCode/hello.sh

主要原因是,脚本执行时,重新开启了新的shell进程,由于变量的隔离性,无法获取admin变量的值,所以为空

2、source 调用方式

 $ source shellCode/hello.sh guo 或者

   $ .  shellCode/hello.sh guo 

hello world!
gg
guo
/bin/bash

source方式执行时,直接调用当前shell执行脚本,当然能够获取admin的值为gg了

3、bash命令调用方式

   $ sh shellCode/hello.sh guo 或者

   $ bash  shellCode/hello.sh guo  

hello world!

guo
shellCode/hello.sh

bash方式执行时,打开一个新的子shell执行,无法获取其他shell的变量admin的值gg就对了

第1中和第3中本质上没有什么区别,当赋予了脚本可执行权限时,可以采用第一种和第三种,否则就只能用第二中或第三种。

一个shell脚本弄清楚不同运行方法的不同

原文:https://www.cnblogs.com/guochaoxxl/p/15260943.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!