Linux之Shell脚本编程—— sh 与 source (. )区别 (3)

区别定义

在这里插入图片描述

  • sh执行脚本 生成子shell 而这个变量在子shell中没有定义
  • source (include) 把这个脚本在当前shell环境中运行

sh与(.)的应用场景:
sh 日常执行脚本
source 一般用来 实现include 功能 或配置环境变量 别名后生效
. /etc/init.d/functions
在这里插入图片描述

使用方法

[root@elephant 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的方法会解决这个问题(其中一种解决方法)

[root@elephant scripts]# cat ip.sh 
#!/bin/bash
ip1=127.0.0.1

[root@elephant 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"

脚本中可以去调用另一个脚本得公共得变量 在公共得脚本中坐成公共得变量
先加载存放变量脚本得变量 内容较多推荐使用这种方法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值