Linux之Shell脚本编程—— sh 与 source (. )区别 (3)
程序员文章站
2024-02-19 18:11:52
...
区别定义
- sh执行脚本 生成子shell 而这个变量在子shell中没有定义
- source (include) 把这个脚本在当前shell环境中运行
sh与(.)的应用场景:
sh 日常执行脚本
source 一般用来 实现include 功能 或配置环境变量 别名后生效
. /etc/init.d/functions
使用方法
[[email protected] scripts]# cat test.sh
#!/bin/bash
#test_by_ncs_2019-11-18
ping -c1 127.0.0.1 &>/dev/null && echo "127.0.0.1 is up" || echo "127.0.0.1 is down"
如果要去测试别得IP就需要改很多地方
可移植性太低
如果使用source的方法会解决这个问题(其中一种解决方法)
[[email protected] scripts]# cat ip.sh
#!/bin/bash
ip1=127.0.0.1
[[email protected] scripts]# cat test2.sh
#!/bin/bash
#ping_by_ncs_2019-11-18
. ip.sh
ping -c1 $ip1 &>/dev/null && echo "$ip1 is up" || echo "$ip1 is down"
脚本中可以去调用另一个脚本得公共得变量 在公共得脚本中坐成公共得变量
先加载存放变量脚本得变量内容较多
推荐使用这种方法
上一篇: 深入理解TypeScript的模块系统