这样做的好处:
1、很清楚的查到自己脚本使用到的环境变量对应的值;
2、不因为任务外部情况的变化而导致shell脚本无法执行;
现实中,常常有开发同学写的shell脚本的环境变量依赖于系统设置的值(譬如设置在/etc/profile),殊不知这种情况是有特定机制的,那就是:需要执行脚本的是当前用户,因为环境变量设置在/etc/profile,意味着当用户登录系统时这些环境变量才生效,这里的前提是登录。如果执行这个脚本的不是当前用户,脚本依赖的环境变量就是无效的。
具体场景 写道
用A用户登录,echo $JAVA_HOME,会显示出值/usr/xxx/java
当A用户执行一个脚本xxx.sh,这个脚本直接使用了$JAVA_HOME,执行命令:sudo -u admin ./xxx.sh,$JAVA_HOME并不是预期的/usr/xxx/java
原因:用admin用户执行xxx.sh,登录用户是A
当A用户执行一个脚本xxx.sh,这个脚本直接使用了$JAVA_HOME,执行命令:sudo -u admin ./xxx.sh,$JAVA_HOME并不是预期的/usr/xxx/java
原因:用admin用户执行xxx.sh,登录用户是A
相关推荐
在Linux中,环境变量可以通过`export`命令来设置,并且可以在shell脚本中进行读取和修改。 #### 三、环境变量配置文件详解 1. **/etc/environment** - 这个文件包含了全局的环境变量设置。它被`login`程序读取并...
综上所述,《Shell脚本学习指南》这本书涵盖了从基础到进阶的全部内容,是学习和提升Shell脚本技能的良好资源。通过阅读和实践,你将能熟练掌握编写高效、实用的Shell脚本,从而提升Linux环境下的工作效率。
本教程主要探讨如何在Shell脚本中使用函数来添加环境变量,这对于管理自定义的软件安装路径和依赖库至关重要。 环境变量在Linux中起着至关重要的作用,它们存储了操作系统在执行各种任务时所需的信息。例如,`PATH`...
3. **与Jenkins结合**:在Jenkins中,可以通过SHELL脚本来执行构建前后的自定义任务,如代码格式检查、环境变量设置等。 4. **在持续集成中的作用**:SHELL脚本可以用来自动化部署过程,例如打包、发布、启动服务等...
在本教程中,我们将深入探讨如何在Shell脚本中使用函数来添加环境变量,这对于自定义系统行为和优化软件的可访问性至关重要。 首先,环境变量是Linux系统中的关键组成部分,它们是全局变量,存储着与用户环境相关的...
3. **环境变量**:使用`export`定义环境变量,确保子进程能继承这些变量。 4. **函数**:创建自定义函数,提高代码复用性和可读性。 5. **脚本参数**:通过$1, $2...访问脚本传入的参数,方便脚本的灵活调用。 四、...
在Linux系统中,环境变量扮演着至关重要的角色,它们提供了系统和用户程序所需的各种配置信息。环境变量是在系统启动或用户登录时初始化的全局变量,对所有子进程都是可见的,因为它们具有继承性。了解并正确管理...
本书旨在帮助读者掌握在Linux环境中高效工作所需的技能,无论是日常使用还是进行系统管理、自动化任务,都能得心应手。下面我们将深入探讨其中的关键知识点。 一、Linux命令行基础 Linux命令行是Linux系统的核心...
5. **环境变量**:安装脚本可能涉及设置环境变量,如`MYSQL_ROOT_PASSWORD`和`MYSQL_USER`,来存储用户的登录信息。这些变量在后续的Shell会话中可以被引用,方便连接到MySQL服务器。 6. **脚本执行**:运行安装...
在Linux环境中,编写Shell脚本自动化安装MySQL数据库是一个常见的需求,特别是对于系统管理员和开发者来说,能够快速、一致地部署MySQL服务是至关重要的。这个名为“shell脚本自动安装mysql-5.5.30实用.pdf”的文档...
根据给定的信息,本文将详细解释如何通过Shell脚本来构建Flutter与Native相结合的应用,并最终生成APK文件。本文档不仅提供了具体的步骤指南,还将深入探讨关键配置细节和技术要点。 ### 一、概述 Shell 脚本是...
Linux环境变量是一组预定义的变量,它们用于存储操作系统运行所需的信息。环境变量可以被程序访问并利用这些信息来进行某些操作,比如路径设置、语言偏好等。环境变量有两种类型:全局环境变量和局部环境变量。 - *...
首先,让我们了解什么是Shell脚本。在Unix和类Unix系统(如macOS)中,Shell是命令行解释器,它接收用户输入的指令并执行。Shell脚本是一系列命令的集合,可以被保存为一个文件并像程序一样运行。通过编写Shell脚本...
它涉及到Java开发、编译和运行的全过程,确保Java应用程序能够正确地找到所需的资源。本文将详细介绍如何配置Java环境变量,包括JDK安装路径、JAVA_HOME、PATH、CLASSPATH等关键变量的设定。 首先,Java ...
在编写脚本时,可以使用环境变量来获取系统信息,如 PATH(系统路径)、MAIL(邮件目录)、HOSTNAME(主机名)等。此外,还有预定义变量,如 $0(脚本名)、$1、$2、$3(位置参数)、$#(位置参数的数量)、$*(所有...
总的来说,通过学习《Learning the Bash Shell》,读者将能够熟练掌握Bash shell的各个方面,无论是日常的命令行操作,还是编写复杂的shell脚本,都能游刃有余。这不仅可以提升Linux系统的使用效率,还能为成为一名...
- **变量设定**:允许脚本存储和引用数据,如环境变量和用户自定义变量。 - **I/O重定向**:允许更改命令的输入来源和输出目的地。 - **管道**:连接多个命令,形成数据流处理链。 - **环境定制**:用户可以修改...
此外,VBScript可以增强批处理的能力,比如通过WScript.Shell对象来调用系统API设置全局环境变量,这比批处理文件仅能设置当前会话的环境变量更为持久。下面是一个VBScript示例: ```vbscript Set WshShell = ...
此外,Shell脚本支持参数传递,允许自定义参数,增强了灵活性。例如,当需要定期执行一系列特定操作,如备份文件或监控系统状态时,Shell脚本就显得尤为实用。 要开始使用Shell,你需要知道如何进入和退出Shell环境...