shell

source 或.script.sh

 

常用于:

加载环境变量配置

加载函数库

让脚本内容"立即生效"

如果使用bash myenv.sh  ,变量智慧存在于子shell,主shell无法访问

 

 

1.脚本的4中执行方式

bash script.sh  是否创建新进程   不依赖shebang    不共享变量

sh script.sh  新进程  不依赖shebang  不共享变量

 

./script.sh    新进程  依赖shebang   不共享变量

source script.sh /  .script.sh     不在当前shell   不依赖shebang  完全共享变量

 

shebang是脚本第一行的声明,用于指定脚本应由哪个解释器执行#!/bin/bash

作用:

使脚本在./script.sh 方式下直到改用哪个解释器执行

明确指定Shell类型(如bash  sh  zsh python)

保证兼容性与可移植性

 

 

#!/bin/bash  明确使用bash

#!/bin/sh  使用系统默认的POSIX Shell

#!/usr/bin/env bash   动态查找系统中bash 的位置

#!/usr/bin/python3  适用于Python脚本

 

总结:

子shell  独立进程,变量不共享

source   在当前shell执行,变量共享

shebang  指定解释器,兼容性关键

bash vs source   运行机制、变量传递完全不同

建议使用  #!/usr/bin/env  bash   更通用

 

posted on 2025-06-12 13:06  jun_沧澜  阅读(6)  评论(0)    收藏  举报

导航