`

Linux的Bash的环境变量

 
阅读更多

命令执行顺序

1 以相对/绝对路径执行命令

2 由alias找到该命令执行

3 由bash内建的命令执行

4 通过$PATH变量顺序搜索到第一个指令来执行

 

login shell与non-login shell

login shell

完整的登录流程。

在tty1-tty6输入用户名和密码

/etc/profile 系统整体配置文件

~/.bash_profile或~/.bash_login或~/.profile  

用户个人配置文件。

non-login shell

不需要重复登录的流程。

一种是进入X window后再启动终端

一种是在bash环境再启动子进程bash

~/.bashrc

用户个人配置文件

 

环境变量相关的内建命令

source

(或直接使用小数点".") 

读取并执行环境配置文件,修改配置文件而不需要注销再登录。
echo 输出环境变量
export 传递环境变量到其子进程
set 显示环境变量或设置环境变量
unset 取消变量

 

环境变量相关命令

env 查看现有的环境变量
locale 查看当前的语系信息
stty 显示或设定文字终端设置,主要是按键的代表意义

 

环境变量设定规则

1 变量与变量内容以等号连接。等号两边不能直接有空格。变量开头只能是字母。

$ mypath=/home/mydata               //设置环境变量

2 变量内容中的双引号与单引号的区别。

$ mypath="lang is $LANG"            //保留特殊字符的意义
$ mypath='lang is $LANG'            //所有字符都认为是一般字符

3 可以使用转移字符“\”,将特殊字符变为一般字符。

4 想到引用一个命令的结果,可以用反单引号`命令`或$(命令)

$ echo `uname -r`
$ echo $(uname -r)

5 若给一个变量一个增量时,可以

$ mypath="$mypath":/home/bin

6 若将该变量传递到其子进程中,可以

$ export mypath

 

变量内容的删除和替换

${变量#关键词} 从头开始检查关键词,将符合的最短数据删除
${变量##关键词} 从头开始检查关键词,将符合的最长数据删除
${变量%关键词} 从尾开始检查关键词,将符合的最短数据删除
${变量%关键词} 从尾开始检查关键词,将符合的最长数据删除
${变量/旧字符串/新字符串} 若符合旧字符串,则第一个旧字符串被替换
${变量//旧字符串/新字符串} 若符合旧字符串,则全部旧字符串被替换

 

变量内容的设定和替换

var和str为变量,expr为一般字符串

变量设定方式 str没有设定 str为空字符串 str已设定为非空
var=${str-expr} var=expr var= var=$str
var=${str:-expr} var=expr var=expr var=$str
var=${str+expr} var= var=expr var=expr
var=${str:+expr} var= var= var=expr
var=${str=expr}

str=expr

var=expr

str不变

var=

str不变

var=$str

var=${str:=expr}

str=expr

var=expr

str=expr

var=expr

str不变

var=$str

var=${str?expr} expr输出到stderr var= var=$str
var=${str:?expr} expr输出到stderr expr输出到stderr var=$str

 

分享到:
评论

相关推荐

    自定义添加linux系统java环境变量脚本及安装包

    各位小伙伴肯定都遇到过拿到一个linux环境发现没有java环境,又需要屁颠屁颠跑去找java安装包配置环境变量的问题吧? 本资源为二狗自己编写的快速定义java环境变量的脚本,可以帮助你剩下不少时间,操作前建议备份/...

    linux bash远程执行代码漏洞的补丁

    redhat bash漏洞补丁包含文件:bash-4.1.2-15.el6_5.2.i686.rpmbash-4.1.2-15.el6_5.2.x86_64.rpmbash-3.0-27.el4.i386.rpmbash-3.0-27.el4.x86_64.rpmbash-3.2-33.el5_11.4.i386.r... redhat bash漏洞补丁 包含文件...

    如何在 Linux 上运行命令前临时清空 Bash 环境变量

    我想临时清空 bash shell 环境变量。但我不想删除或者 unset 一个输出的环境变量。我怎样才能在 bash 或 ksh shell 的临时环境中运行程序呢?  你可以在 Linux 或类 Unix 系统中使用 env 命令设置并打印环境。env ...

    Linux 中环境变量设置.docx

    默认情况下,其他设置的一些环境变量,执行用户的 .bashrc 文件。  ~/.bashrc: 该文件包含专用于登陆用户的 bash shell 的 bash 信息,当登录时以及每次打开新的 shell 时,该该文件被读取。  ~/.bash_logout: 当...

    Linux中Bash环境变量的配置方法

    Shell 既是一种命令语言,又是一种程序设计语言。这篇文章主要介绍了Linux中Bash环境变量的配置方法,需要的朋友可以参考下

    Linux下环境变量配置方法小结(.bash_profile和.bashrc的区别)

    主要介绍了Linux下环境变量配置方法小结(.bash_profile和.bashrc的区别),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

    Linux 环境变量详解及实例

    Linux环境变量 ~/.bash_profile && ~/.bashrc 用户登陆Linux操作系统的时候,”/etc/profile”, “~/.bash_profile”等配置文件会被自动执行。 执行过程是这样的: 登陆Linux系统时,首先启动”/etc/profile”,...

    判断Linux Shell环境变量是否存在

    #!/bin/bash ...以上所述是小编给大家介绍的Linux Shell 判断环境变量 是否存在,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对软件开发网网站的支持!

    Linux中环境变量配置的步骤详解

    我们大家在平时使用Linux的时候,经常需要配置一些环境变量,这时候一般都是网上随便搜搜就有人介绍经验的。不过问题在于他们的方法各不相同,有人说配置在/etc/profile里,有人说配置在/etc/environment,有人说...

    Linux bash Shell中的变量类型详解

    主要介绍了Linux bash Shell中的变量类型详解,变量类型共分为本地变量、局部变量、环境变量、位置变量和特殊变量等,需要的朋友可以参考下

    Linux中环境变量文件及配置

    Linux中环境变量包括系统级和用户级,系统级的环境变量是每个登录到系统的用户都要读取的系统变量,而用户级的环境变量则是该用户使用系统时加载的环境变量。 所以管理环境变量的文件也分为系统级和用户级的,下面贴...

    UnixUtils windows linux shell bash

    在Windows环境下执行Linux常用命令。 解压后把路径入到Path环境变量中。 执行bash即进入Linux bash-shell 命令行环境。 Have your fan. -- higkoo

    修复bash漏洞的bash-4.4.tar.gz源码包

    linux 服务器GNU Bash小于版本4.3有操作系统命令注入漏洞,需要对bash升级,下载解压 ...添加环境变量 #echo‘ export PATH=/usr/local/bin:$PATH‘ >>/etc/profile #source /etc/profile 测试bash版本 #bash -version

    bash-4.2源码

    gnu上下载的bash4.2交叉编译的时候提示execute_cmd.c 2205行某个变了没有定义。编译PC版本没有问题,是因为 交叉...如果你电脑上了少了库的话也会报错,或者没有正确设置环境变量,那就不是源码的问题了。编译愉快!

    JMeter在Linux系统中的环境变量配置

    下载:  在线下载jmeter(或者本地上传): ...  拷贝到安装目录并解压:  $ cp apache-jmeter-3.1.tgz /usr/local/jmeter/ ...  为指定用户配置环境变量,是通过用户目录下的用户配置文件{.bash_profile}

    linux-Shell基础视频教程

    10.4.2 Shell基础-Bash变量-环境变量.mp4 10.4.3 Shell基础-Bash变量-位置参数变量.mp4 10.4.4 Shell基础-Bash变量-预定义变量.mp4 10.5.1 Shell基础-Bash变量-数值运算与运算符.mp4 10.5.2 Shell基础-Bash变量-...

    linux下bash shell C语言实现 代码4.1版

    这个是官方的bash源代码,如果想要深入研究的可以下载下来看看,包括了所有shell常见功能,比如通配符、自动补全、别名、变量等等,当然最基本的管道和输入输出重定向也实现了。 需要在linux环境下编译运行。

Global site tag (gtag.js) - Google Analytics