Linux变量分类(全)

news/2023/5/28 7:51:05

局部变量:当前代码段内生效

案例演示:函数内,用local修饰的变量就是局部变量。

function func(){local a=99}

本地变量:当前bash进程中有效

案例演示:

[root@docker01 ~]# A=111
[root@docker01 ~]# echo $A
111

环境变量:当前用户的bash进程及其子进程中生效,切换用户后失效。

1、临时环境变量。

相关语法:

查看:
env     查看当前用户的环境变量
set     查询当前用户的所有变量(临时变量与环境变量)
创建:
export `变量名=变量值` 或者 `变量名=变量值;export 变量名`

案例演示:

[root@docker01 ~]# export B=BBB
[root@docker01 ~]# echo $B
BBB
[root@docker01 ~]# psPID TTY          TIME CMD2334 pts/0    00:00:00 bash7666 pts/0    00:00:00 ps
[root@docker01 ~]# /bin/bash
[root@docker01 ~]# psPID TTY          TIME CMD2334 pts/0    00:00:00 bash7667 pts/0    00:00:00 bash7699 pts/0    00:00:00 ps
[root@docker01 ~]# ps auxf|grep bash
root       2334  0.0  0.1 116336  3004 pts/0    Ss   Jan18   0:00  |   \_ -bash
root       7667  0.1  0.1 116324  2780 pts/0    S    05:29   0:00  |       \_ /bin/bash
root       7714  0.0  0.0 112812   976 pts/0    S+   05:29   0:00  |           \_ grep --color=auto bash
[root@docker01 ~]# echo $B
BBB

2、永久环境变量。

在环境变量脚本文件中配置,该用户每次登录时会自动执行这些脚本,相当于永久生效。
相关语法:

$HOME/.bashrc	当前用户的bash信息,用户登录时读取		定义别名、umask、函数等
$HOME/.bash_profile	当前用户的环境变量,用户登录时读取
$HOME/.bash_logout	当前用户退出当前shell时最后读取		定义用户退出时执行的程序等

全局变量:所有的用户和程序都能调用

相关语法:

/etc/bashrc		全局的bash信息,所有用户都生效
/etc/profile		全局环境变量信息			系统和所有用户都生效

系统变量:系统定义好的一些变量

例如:

内置变量含义
$?上一条命令执行后返回的状态;状态值为0表示执行正常,非0表示执行异常或错误
$0当前执行的程序或脚本名 (./02.sh)
$#脚本后面接的参数的个数 3个
$*脚本后面所有参数,参数当成一个整体输出,每一个变量参数之间以空格隔开 (参数数组a b c)
$@脚本后面所有参数,参数是独立的,也是全部输出 (参数数组a b c)
$1~$9脚本后面的位置参数,$1表示第1个位置参数,依次类推
${10}~${n}扩展位置参数,第10个位置变量必须用{}大括号括起来(2位数字以上扩起来)
$$当前所在进程的进程号,如echo $$
$!后台运行的最后一个进程号 测试: sleep 400 &(后台运行)/sleep 400(ctrl+z 暂停运行), 再运行jobs, 查看当前进程的后台子进程.
!$调用最后一条命令历史中的参数

注意:

对于全局变量和永久环境变量,用户登录系统后, 相关文件的加载顺序:
1、/etc/profile
2、$HOME/.bash_profile
3、$HOME/.bashrc
4、/etc/bashrc
5、$HOME/.bash_logout

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.exyb.cn/news/show-4563405.html

如若内容造成侵权/违法违规/事实不符,请联系郑州代理记账网进行投诉反馈,一经查实,立即删除!

相关文章

Python学习入门3:编程零基础应当如何开始学习Python?

零基础学编程,用python入门是个不错的选择,虽然国内基本上还是以c语言作为入门开发语言,但在国外,已经有比较多的学校使用python作为入门编程语言。 具体怎么选择你的第一门编程语言可以看下图: 好吧,废话…

力扣之最短路径和问题

题目: 给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。 说明:每次只能向下或者向右移动一步。 思路: 动态规划 状态定义: 设 dp 为大小 …

【ACWing】751. 数组的左方区域

题目地址: https://www.acwing.com/problem/content/753/ 输入一个二维数组M[12][12]M[12][12]M[12][12],根据输入的要求,求出二维数组的左方区域元素的平均值或元素的和。数组的两条对角线将数组分为了上下左右四个部分,如下图…

MATLAB实战系列(十)-二维装箱问题之BL法修正版(附MATLAB代码)

01 | 问题导入 二维装箱问题顾名思义就是将若干个矩形物品装进矩形箱子中,并且在装箱的过程中不允许将矩形物品斜着放(PS:下图就是不允许的装箱操作),同时在装箱过程中允许将物品旋转90度放置(但是为了简单地求解问题,我们规定不允许将物品旋转90度),一般来说求解的目…

Unity之向量

向量表示的是方向和大小,与位置距离无关 三维空间的表示如下 在unity3d中采用的struct来描述的Vector3 [csharp] view plaincopy namespace UnityEngine { public struct Vector3 { public float x; public float y; …

Acwing语法基础课第八次课(1)751. 数组的左方区域最小数和它的位置741. 斐波那契数列740. 数组变换753. 平方矩阵 I

751. 数组的左方区域 题目 提交记录 讨论 题解 视频讲解 输入一个二维数组 M[12][12],根据输入的要求,求出二维数组的左方区域元素的平均值或元素的和。 数组的两条对角线将数组分为了上下左右四个部分,如下图所示,黄色部分为对角线,绿色部分为左方区域: UOJ_1189.pn…

ROS之坐标转换

在用机器人和激光雷达跑SLAM算法构建地图时,总感觉激光雷达数据在RVIZ中显示的方向有问题(前提是激光雷达的安装方向正确),知道是tf坐标转换存在问题,但一直没有调整到好的状态,所以查了些相关资料&#xf…

c语言编程数组对角线之和,C语言实现3*3数组对角线之和示例

C语言实现3*3数组对角线之和示例我就废话不多说了&#xff0c;直接上代码吧&#xff01;#define _CRT_SECURE_NO_WARNINGS 1#include#includeint SUM(char arr[][3]){int i 0;int j 0;int sum 0;for (i 0; i < 3; i){for (j 0; j < 3; j){if (i j){sum arr[i][j];…

Qt之QCustomPlot

在学完各种dll的调用方式和QAbstractItemModel之后&#xff0c;终于到了这一步&#xff0c;之前用过CustomPlot来实现简单图的绘制&#xff0c;但是这次我需要从头开始&#xff0c;理解内涵 文章目录1 Main Page1.1 QCustomPlot 2.0.1 Documentation1.2 Plottables 绘图板1.3 C…

C/C++基础题064.数组的左方区域

Hello: Person person = new Person(); person.Name = “xueyubin”; person.WeChat = “18309212110”; person.HeaderPhoto=“戴眼镜、黑眼圈、格子衫、牛仔裤、双肩包”; person.Sex = “男”; String major[] = { ‘C’,“C++”, “Linux”,“MySQL” }; person.IWantSay(“…

751. 数组的左方区域

文章目录QuestionIdeasCodeQuestion Ideas 输入一个二维数组 M[12][12]&#xff0c;根据输入的要求&#xff0c;求出二维数组的左方区域元素的平均值或元素的和。 数组的两条对角线将数组分为了上下左右四个部分&#xff0c;如下图所示&#xff0c;黄色部分为对角线&#xf…

AcWing 751. 数组的左方区域

AcWing 751. 数组的左方区域 写在前面&#xff1a;AcWing是由北大一神级人物——“大雪菜” 创办的算法交流社区, 里面除了正常 oj 网站的功能之外, 还提供单人训练、双人匹配、云端操作系统等模式&#xff0c;除此之外不定期举行各种打卡活动&#xff0c;而且可以分享题解和心…

牛客_____Wannafly挑战赛29______魔禁场

目录 御坂美琴 白井黑子 左方之地 御坂美琴 あなたの指先が躍動する電気の光は、私の不滅の信仰である&#xff01; 题解:对每一个数进行题述操作就ok,直到不能拆为止&#xff0c;对操作得到的数字&#xff0c;用map 标记一下(1表示可以得到&#xff0c;0表示得不到)&…

软件工程(理论)

目录第一章软件开发技术&#xff08;主&#xff09;目标软件功能分类软件开发方法软件开发过程管理软件的特点软件开发的含义第二章第三章第四章结构化软件的需求分析方法和设计方法第一章 先确定目标&#xff0c;然后再确定过程&#xff0c;方法&#xff0c;最后工具 软件开发…

光辉国际宣布陈兆丰先生为新任中国区总裁

全球性组织咨询公司光辉国际&#xff08;NYSE: KFY&#xff09;宣布陈兆丰先生就任中国区总裁&#xff0c;全面负责光辉国际中国区的业务发展与运营。陈兆丰先生光辉国际创立于1969年&#xff0c;并于1996年进入中国。目前在全球52个国家拥有8600多名优秀顾问&#xff0c;与超过…

请高管们出来晒薪酬

2008年&#xff0c;对36岁的股民罗震来说是艰难的一年&#xff0c;他的股票账户总资产由150万元缩水到40来万元&#xff0c;不及从前的零头。有着10多年股龄的罗震&#xff0c;谈及上市公司高管天价薪酬&#xff0c;显得激动却疲惫&#xff1a;6000多万的年薪&#xff0c;该不该…

转:别再把你的好员工推开

个人理解&#xff1a; 让三分本事的人&#xff0c;干五分的事&#xff0c;挣四分的钱。 默然与挫败感&#xff0c;无法发挥自身潜能&#xff1b;合适的岗位&#xff0c;相应支持的环境。 匹配度&#xff0c;鉴别员工的特长&#xff0c;从而委任给他们最佳的岗位。 别再把你的好…

管理薪酬 穆穆-movno1

管理薪酬 穆穆-movno1 为什么一线经理是薪酬实施的关键&#xff1f;为什么组织不能从薪酬的投入中取得巨大回报&#xff1f; 如何才能最大化的发挥薪酬制度的价值&#xff1f; Hay&#xff08;合益&#xff09;集团的研究表明&#xff0c;那些成功的薪酬制度之所以能够起到预…

华为30岁了,73岁的任正非管理哲学是怎样迭代的

华为到了它的“而立之年”&#xff0c;任正非也73岁&#xff0c;陪着华为走过了三十年坎坷岁月。在世人眼中&#xff0c;华为是一个神秘的存在&#xff0c;任正非为人低调&#xff0c;不喜欢面对公众或媒体&#xff0c;也不允许公司高层接受媒体采访。外界研究华为&#xff0c;…