脚本执行方式(source 点. ./ sh)

本文介绍了执行Shell脚本的几种常见方式及其区别,包括使用source、. (点操作符)、直接调用脚本文件及通过sh命令执行。通过示例展示了不同执行方式下变量可见性的差异。

有很多方式可以执行脚本,用于读取并执行test.sh中的命令,区别如下:

source test.sh

执行过程不另开进程,脚本文件中设定的变量在当前shell中可以看到

.  test.sh

./test.bsh

在当前进程另开子进程来执行脚本命令,脚本文件中设定的变量在当前shell中不能看到

sh test.sh


例如:

liuwanpeng@ubuntu:~$ cat test.sh 
echo "pid in test.sh" $$
var=123
liuwanpeng@ubuntu:~$ echo $$
8574
liuwanpeng@ubuntu:~$ unset var;source test.sh ;echo $var
pid in test.sh
8574
liuwanpeng@ubuntu:~$ unset var;. test.sh ;echo $var
pid in test.sh 8574
123
liuwanpeng@ubuntu:~$ unset var;./test.sh ;echo $var
pid in test.sh 8670
iuwanpeng@ubuntu:~$ unset var;sh test.sh ;echo $var
pid in test.sh 8671



                
从你的 `find` 命令输出来看: ```bash ./toolbox/set_env.sh ./toolbox/5.0.RC3/script/set_env.sh ./tfplugin/set_env.sh ./tfplugin/7.0.RC1/script/set_env.sh ./nnrt/set_env.sh ./nnrt/8.0.RC3/aarch64-linux/script/set_env.sh ``` 说明在 `/usr/local/Ascend` 目录下有多个版本的 `set_env.sh` 文件。你当前所在的目录是: ``` /usr/local/Ascend ``` 但你需要的是用于 **Ascend Toolkit 8.0.RC3.10** 的环境变量设置脚本。 --- ## ✅推荐做法 你应该使用: ```bash ./nnrt/8.0.RC3/aarch64-linux/script/set_env.sh ``` 这是最匹配你正在使用的版本(`8.0.RC3.10`)的环境设置脚本。 --- ## ✅操作步骤 ### ✅1. 进入 Ascend 根目录(你已经在这了) ```bash cd /usr/local/Ascend ``` ### ✅2. 执行正确的 `set_env.sh` ```bash source ./nnrt/8.0.RC3/aarch64-linux/script/set_env.sh ``` > ✅ 该脚本会自动设置 `ASCEND_HOME_PATH`、`LD_LIBRARY_PATH`、`PATH` 等关键环境变量。 --- ## ✅验证环境变量是否生效 你可以执行以下命令查看是否设置成功: ```bash echo $ASCEND_HOME_PATH echo $LD_LIBRARY_PATH | grep ascend echo $PATH | grep ascend ``` 你应该能看到类似以下输出: ``` /usr/local/Ascend/nnrt/8.0.RC3 /usr/local/Ascend/nnrt/8.0.RC3/aarch64-linux/lib64 /usr/local/Ascend/nnrt/8.0.RC3/aarch64-linux/bin ``` --- ## ✅补充说明 | 路径 | 说明 | |------|------| | `toolbox/set_env.sh` | 工具箱版本,可能不适用于 NPU 运行时 | | `tfplugin/set_env.sh` | 用于 TensorFlow 插件 | | `nnrt/set_env.sh` | 用于 NPU Runtime 环境(推荐) | --- ## ✅总结 | 操作 | 推荐命令 | |------|----------| | 设置环境变量 | `source /usr/local/Ascend/nnrt/8.0.RC3/aarch64-linux/script/set_env.sh` | | 验证变量 | `echo $ASCEND_HOME_PATH`、`echo $LD_LIBRARY_PATH`、`echo $PATH` | | 多版本选择 | 使用 `8.0.RC3` 对应的路径 | --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值