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

  为了弄清楚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中本质上没有什么区别,当赋予了脚本可执行权限时,可以采用第一种和第三种,否则就只能用第二中或第三种。

posted @   叕叒双又  阅读(74)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示