[Tips] Shell中常用的环境变量与自定义环境变量

常用环境变量

HOME: 使用者的目录地址

BASH: 目前使用的shell

HISTSIZE: 保留历史命令的数目上限

PATH:系统默认的可执行文件搜索路径

LANG:系统使用的编码。很多程序是根据系统指定的编码去解析输入文件,如果编码不正确,很多文件就无法正确解析。

RANDOM:随机产生一个0~32767之间的随机数

PS1:即命令提示符的格式,就是shell命令行前方的图标。

$:表示当前shell的pid

1
$> echo $$

?:上一个shell命令的返回值

OSTYPE:系统类型

HOSTTYPE, MACHTYPE:系统指令集的位数(例如:x86_64)

 查看变量

 可以使用env命令观察当前shell环境下的环境变量

1
$> env

  

可以使用set命令查看当前shell环境下的所有变量(包括用户自定变量)

1
>$ set

  不論是否為環境變數,只要跟我們目前這個 shell 的操作介面有關的變數, 通常都會被設定為大寫字母,也就是說,在 Linux 預設的情況中,使用大写字母來設定的變數一般為系統內定需要的变量。

自定义环境变量

注意,当前的shell生成子shell时,子shell只会继承父shell的环境变量而不继承自定义变量,因此如果要将当前shell定义的变量传入子shell中就需要将之定义为自定义的环境变量,这个就通过export命令完成。

 

$特殊变量值意义

 

$$ 
Shell本身的PID(ProcessID) 
$! 
Shell最后运行的后台Process的PID 
$? 
最后运行的命令的结束代码(返回值) 
$- 
使用Set命令设定的Flag一览 
$* 
所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。 
$@ 
所有参数列表。如"$@"用「"」括起来的情况、以"$1" "$2" … "$n" 的形式输出所有参数。 
$# 
添加到Shell的参数个数 
$0 
Shell本身的文件名 
$1~$n 
添加到Shell的各参数值。$1是第1参数、$2是第2参数…。 

posted @   虚无真仙  阅读(1630)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 【杂谈】分布式事务——高大上的无用知识?
点击右上角即可分享
微信分享提示