Shell编程基础(三)环境变量 位置变量 系统内置变量

news/2024/11/28 9:29:32/

环境变量 &

    • 环境变量
      • 环境变量范围
        • 父子进程之间有效
        • 指定用户有效
        • 所有用户有效
    • 位置变量
    • 系统内置变量

环境变量

在脚本种直接定义的变量,只能在当前shell进程中使用
若想要在其他shell进程中使用,可以将变量声明为 环境变量

export 变量名 :用于导出已有变量到环境变量
export 变量名=变量值:直接声明一个新的变量为环境变量
注意:命令行 执行 export 声明的环境变量,只在当前shell 以及 其子shell中有效,其他不相关的shell进程中无效

要想环境变量全局有效,需在指定的文件中定义环境变量。

环境变量范围

父子进程之间有效

在当前进程中,通过 export 指定的环境变量,只在当进程及其子进程中有效

指定用户有效

在用户目录(cd 或者 cd ~ 可切换到当前用户目录)下有个文件 ==.bash_profile==这里面声明的环境变量,只对当前用户有效。
如 root用户的目录为 /root
自定义的用户(kalpana)目录为**/home/kalpana**

其原理是,开机登录时会加载这个脚本。因此也可以在这个脚本里面做一些,开机的初始化操作(自启动应用等)。

所有用户有效

针对所有用户都有效的环境变量可以在 /etc/profile 下进行声明。

原理同上,只不过这个文件是所有用户在开机时,会加载这个文件。
同样这里面可以设置一些初始化操作。

位置变量

我们在执行命令,脚本时,有时会传参,那么在脚本内,就可以通过
$ + 序号的方式获取相应位置的参数了。
$0 代表的是命令本身,1开始取参数

位置变量和read 交互式输入变量都可以达到类似的效果,但是read可以给出提示语更加直观

系统内置变量

$0 : 脚本名称
$#:参数个数;这里可以联想到 字符串长度 ${#str} 和 数组长度 ${#arr[@/*]}
$?:脚本返回值 0代表成功
$$:当前shell进程id
$@:参数列表
$ *:参数拼接的字符串


http://www.ppmy.cn/news/979228.html

相关文章

问题解决Can‘t update table ‘category‘ in store

问题描述: 使用spring boot的时,候访问更新数据库内容接口报错: Error updating database. Cause: java.sql.SQLException: Cant update table category in stored function/trigger because it is already used by statement which invoked this stored function/trigger. 问题…

夯实数字化转型安全地基,华东某农商行开源安全治理经验

华东某农村商业银行是一家全国首批组建的股份制农村金融机构。近年来,该农商行坚持“科技强行”战略,进一步夯实数字化核心基础,积极推动金融科技与产品、服务的深度融合,努力拓展数字金融的包容性,让数字金融更有温度…

Java maven project XPathFctory

java Maven project, 更新了一个java库,项目无法编译了, 一直报错:No XPathFctory implementation found for the object model: Java 中 XPathFactory 只有抽象定义,没有具体实现,需要添加实现类,经过百度…

【100天精通python】Day16:python 模块的搜索目录和导入模块异常时的处理方法

目录 1 搜索模块所在目录 2 模块不在搜索目录中 2.1 添加模块所在的目录到PYTHONPATH环境变量 2.2 修改sys.path 2.3 使用绝对路径导入 2.4将模块复制到Python搜索路径中的任意一个目录 2.5 总结 3 其他导入的模块异常处理 3.1 模块未安装 3.2 模块名称拼写错误 3.3模…

实现基于UDP简易的英汉词典

文章目录 实现目标认识相关接口socketbzerobindrecvfromsendto 实现思路和注意事项完整代码Server.hppServer.ccClient.hppClient.cc 运行效果END 实现目标 实现一个服务端和一个客户端,客户端负责发送一个单词,服务端接收到后将翻译后的结果返回发送到…

Mysql基础(下)之函数,约束,多表查询,事务

👂 回到夏天(我多想回到那个夏天) - 傲七爷/小田音乐社 - 单曲 - 网易云音乐 截图自 劈里啪啦 -- 黑马Mysql,仅学习使用 👇原地址 47. 基础-多表查询-表子查询_哔哩哔哩_bilibili 目录 🦂函数 &#x1f3…

Excel 端口操作指南

通过将 EDI 报文可视化为 Excel,企业可以更好地了解和处理数据,提高工作效率,减少错误率。在未实现 EDI 系统和内部业务系统集成之前,Excel 方案则是一项可供选择的临时替代方案。 Excel方案的优点在于,无需对业务系统…

Python获取股票数据——以沪深300成分股为例

目录 1、Baostock2、Tushare pro版3、AKshare4、聚宽量化平台 需求是下载比如从2020-01-01到2022-12-31区间的沪深300成分股每支股票的日K线数据,没错这是个面板数据,原本以为直接通过Python接口可以直接下载到,因为之前找的上证综指啥的用R的…