Bash脚本的两种执行方式

本博客已迁往http://coredumper.cn


Bash脚本的执行方式可以分为两类:

1. 通过绝对路径、相对路径或者bash命令来执行。

该方法是在子进程的bash内来执行脚本的,脚本中的操作只能在子进程的bash环境中生效,不会对父进程的bash环境产生任何影响。

2. 通过source命令或者小数点符号. 来执行。

该方法是在当前进程的bash内来执行脚本的,脚本中的操作会在当前bash环境中生效。

因此,当修改了配置文件~/.bashrc,可以用这种方式使修改立即生效,从而避免了注销系统再重新登录的过程。如果采用第一种方法则不会有效。

### 如何在 Linux 中执行 Bash 脚本 #### 使用路径直接执行 如果赋予了脚本执行权限,则可以直接通过指定其绝对或相对路径来执行该文件。例如,假设有一个名为 `script.sh` 的脚本位于当前目录下,在给予执行权限之后可以通过如下命令启动它: ```bash chmod +x ./script.sh ./script.sh ``` 这种方式会在新的子进程中运行此脚本[^1]。 #### 利用 `sh` 或者 `bash` 命令执行 即使没有设置执行位,也可以借助 `sh` 或者 `bash` 解释器来读取并执行脚本中的指令。对于同样的 `script.sh` 文件来说,可以这样操作: ```bash sh script.sh # 或者 bash script.sh ``` 这两种情况下同样会创建一个新的子进程环境来进行处理。 #### 应用 `. (点)` 或者 `source` 命令加载 不同于前两种方法的是,“`.`(点)” 和 `source` 关键字允许在同一 shell 进程内部引入另一个脚本的内容,并立即生效其中定义过的变量和函数等资源。这对于配置类的初始化非常有用: ```bash . ./script.sh # 或者 source ./script.sh ``` 这里不会开启额外的子进程实例;相反,所有动作都在现有上下文中完成。 为了确认所使用的 Shell 类型以及查找可用的解释器位置,可通过查阅 `/etc/shells` 文件得知更多信息: ```bash cat /etc/shells ``` 上述命令能够展示系统支持的各种合法登录Shell列表,包括但不限于默认安装好的Bash版本所在的位置[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值