[Tips] Shell中常用的环境变量

常用环境变量

HOME: 使用者的目录地址

BASH: 目前使用的shell

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

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

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

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

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

$:表示当前shell的pid

$> echo $$

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

OSTYPE:系统类型

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

查看变量

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

$> env

  

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

>$ set

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

自定义环境变量

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

原文地址:https://www.cnblogs.com/immortalBlog/p/11239610.html

时间: 2024-11-15 05:30:26

[Tips] Shell中常用的环境变量的相关文章

shell中常用的特殊符号

在shell中常用的特殊符号罗列如下: # ; ;; . , / \ 'string'| ! $ ${} $? $$ $* "string"* ** ? : ^ $# [email protected] `command`{} [] [[]] () (()) || && {xx,yy,zz,...}~ ~+ ~- & \<...\> + - %= == != # 井号 (comments) 注释字符 该句不会被执行 ~ 帐户的 home 目录 用户的

Shell中的特殊位置参数变量全文收录

一.位置参数变量的作用 一句话概括:我们要从命令行.函数或者脚本执行等处传递参数时,就需要在shell脚本中使用位置参数变量 二.Shell中的特殊未知参数变量有哪些 1)$0 作用:获取当前执行的shell脚本的脚本名字(如果脚本中包含了路径,那获取的就是脚本路径)2)$n作用:获取当前执行的shell脚本的第n个参数(n=1..9),当n=0时,则就是$0获取脚本名,当n≥10,则必须使用{},例如:${10},当n有多个时,则参数之间用空格隔开3)$#作用:获取当前执行的shell脚本后面

shell中常用I/O重定向命令格式说明

命令1  >    文件1 将命令1的输出结果重定向到文件1 命令1  &>  文件1 将命令1的输出结果和标准错误输出一起重定向到文件1 命令1  >>  文件1 将命令1的输出结果追加到文件1中 命令1  2>  文件1 将命令1的标准错误输出的结果重定向到文件1中 命令1  <     文件1 将文件1作为命令1的标准输入 命令1 << 字符串1   允许连续输入数据,直到接收到字符串1(常用于邮件系统) shell中常用I/O重定向命令格式说

【翻译自mos文章】在11gR2/12c 的GI中,ORA_CRS_HOME 环境变量必须被unset

在11gR2/12c 的GI中,ORA_CRS_HOME 环境变量必须被unset 来源于: Environment Variable ORA_CRS_HOME MUST be UNSET in 11gR2/12c GI (文档 ID 1502996.1) 适用于: Oracle Database - Enterprise Edition - Version 11.2.0.1 and later Information in this document applies to any platfo

Open SuSE中自定义的环境变量

针对与其它发行版本的Linux,网络上给出的添加环境变量的位置都是在/etc/profile文件中添加.在Open SuSE中也有/etc/profile文件,不过从该文件的前几行注释可以看出,官方建议的自定义环境变量应该自己重新创建一个/etc/profile.local,不应该直接修改/etc/profile文件.然后在profile.local中添加自定义的环境变量,例如: [email protected]:/usr/lib> cat /etc/profile.local pycharm

Ubuntu中配置Java环境变量时,出现command not found问题解决记录

百度出Ubuntu中配置Java环境变量时,在利用sudo gedit /etc/profile 对prifle编辑后, 在terminal中输入 sudo source /etc/profile,为了使profile文件更改成功时,出现command not found. 是因为用户权限不够,虽然普通用户已经用sudo获取了权限(这里不是很理解为什么,也是百度出的答案,如不对,还请指正呐!). 输入 sudo -s 输入 source /etc/profile 此时输入 java -versi

java中JDK的环境变量配置

JDK环境变量装备以下观念为自个自个了解,不一定完全正确,期待评论纠正! 关于jdk的环境变量装备,通常会讲到三个,分别是JAVA_HOME,CLASSPATH,PATH.1.关于path,应该是最好了解的号码归属地查询,path是windows的体系环境变量,不是由于jdk而存在的,它的设置即是为了在恣意目录下履行jdk目录中bin文件夹应用程序的便利,将%JAVA_HOME%\bin目录存放于关键词挖掘工具path中,在恣意途径的cmd窗口中便都能够运转javac,java,jar等程序了.

在批处理中判断延迟环境变量扩展是否已启用的方法

研究背景 由于特殊原因,有时我们需要在批处理中判断延迟环境变量扩展是否已启用,可以用下面的方法进行判断. 使用脚本 @echo off setlocal enabledelayedexpansion set layedexpansion=1&if not "!layedexpansion!"=="1" (echo 延迟环境变量扩展未启用) else echo 延迟环境变量扩展已启用 pause 原文地址:http://blog.51cto.com/condu

在ubuntu中配置java环境变量遇到的一些问题

最近因为重装了系统,所以需要重新配置java环境变量,本来打算在/etc/environment中配置的,但是配置好以后重启发现登录不进图形界面了,ctrl+alt+F2~6都可以进入命令行,但是在命令行中尝试用sudo su切换到root用户又会失败,查了一些资料后发现是因为environment中不要用export来配环境变量,这样会导致登录失败的问题,而且因为配java路径的时候我们在原来的PATH前面添加了一些路径,导致后面的/bin和/usr/bin等目录都找不到了,因此也就无法找到s