博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在脚本中使用source命令不生效
阅读量:6881 次
发布时间:2019-06-27

本文共 454 字,大约阅读时间需要 1 分钟。

问题描述

    1. 一次写自动化安装脚本,要安装java,需要将JAVA_HOME写到/etc/profile中,然后使用source命令,但是发现profile文件中确实有JAVA_HOME,使用echo $JAVA_HOME无输出值。手工source一下后发现可以输出$JAVA_HOME
问题原因
    1. 使用bash来调用脚本,而不是使用source或者.来调用脚本。导致了这个问题
    2. 当我们使用source或者.调用脚本时,实际上是叫脚本放到当前环境中,对当前环境生效。实际上source和.是等值的。
    3. 使用bash来调用脚本时,会启动一个自shell来启动脚本,这是的source /etc/profile只是对子shell有用,一旦退出子shell,便没有效果了。
所以如果在脚本中有source命令,并且想让该命令在退出脚本后依旧生效,建议使用使用source 脚本名来调用脚本。

转载于:https://www.cnblogs.com/yanghuabin/p/7365982.html

你可能感兴趣的文章
iOS 同步GET
查看>>
UItexfile实时验证输入字符
查看>>
JavaScript总结(二) 系统分析
查看>>
CF437D(The Child and Zoo)最小生成树
查看>>
8VC Venture Cup 2016 - Elimination Round D. Jerry's Protest 暴力
查看>>
数据仓库工具:Hive
查看>>
Swift - IBOutlet返回nil(fatal error: unexpectedly found nil while unwrapping an Optional value)
查看>>
Failed to upgrade Oracle Cluster Registry configuration(root.sh)
查看>>
RequestDispatcher 的 forward和include
查看>>
MySQL常用操作总结
查看>>
Sublime text3 插件HTML/CSS/JS prettify 格式化代码
查看>>
CodePen's CSS
查看>>
查找jar包的站点
查看>>
LeetCode - 37. Sudoku Solver
查看>>
C# 自己定义 implicit和explicit转换
查看>>
zabbix监控nginx连接状态(转)
查看>>
嵌入式 hi3518x平台h264+g711a封装mp4代码demo
查看>>
三元运算符
查看>>
iOS界面调试工具 Reveal-备用
查看>>
对聚集表查询的时候,未显式指定排序列的时候,默认查询结果的顺序一定是按照聚集索引顺序排序的吗...
查看>>