命令执行顺序
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环境变量设置详解 #### 一、理解Linux环境变量 在Linux系统中,环境变量是一种重要的配置方式,用于向程序传递系统级别的信息。这些变量包括路径信息、语言设置、用户主目录等,它们对系统的运行起着至关...
### Linux配置JDK环境变量详解 #### 一、下载与准备JDK 1. **下载JDK**:首先,从Sun Microsystems(现已被Oracle收购)的官方网站([www.oracle.com](https://www.oracle.com/))下载JDK安装包。这里以`jdk-1_5_0...
Linux 环境变量设置总结 Linux 环境变量是 Linux 操作系统中一个重要的概念,它决定了系统的行为和用户的体验。环境变量是由一系列的名称和值组成的,它们可以影响系统的行为和应用程序的运行。 1. 环境变量的分类...
各位小伙伴肯定都遇到过拿到一个linux环境发现没有java环境,又需要屁颠屁颠跑去找java安装包配置环境变量的问题吧? 本资源为二狗自己编写的快速定义java环境变量的脚本,可以帮助你剩下不少时间,操作前建议备份/...
Linux操作系统是众多IT专业人员工作中的重要平台之一,环境变量作为Linux系统中一个非常重要的概念,它被用于定义系统运行环境的动态属性,诸如系统路径、系统变量等,这些属性会影响到应用程序的运行。在Linux中...
### 定制Linux系统环境变量详解 #### 一、引言 在Linux系统中,环境变量扮演着极其重要的角色,它们不仅定义了系统的运行环境,还直接影响着各种应用程序的行为。了解并掌握如何定制Linux系统环境变量,对于提高...
Linux 环境变量介绍 在 Linux 中,环境变量是一个非常重要的概念,它可以影响用户和操作系统之间的交互方式。 shell 是用户和操作系统之间的命令解释器,负责接受用户输入的命令并将其翻译成操作系统能够理解的指令...
在Linux中,Bash环境变量的配置通常涉及以下几个文件: 1. `/etc/profile`:这是系统级别的配置文件,用于设置所有用户的环境信息,当用户首次登录时执行。如果在该文件中修改了环境变量,需要重启系统才能使修改...
### Linux环境变量更改详解 #### 一、临时终端有效法 **定义与适用场景:** 在Linux系统中,可以通过临时更改环境变量的方式让当前终端会话中的某些设置生效。这种方式适用于临时测试或调试某些功能,不会对其他...
### 在Linux里设置环境变量的方法 #### 一、引言 环境变量是在操作系统环境中定义的一组特殊变量,它们被用于存储各种系统配置信息,比如路径、语言环境等。在Linux系统中,设置环境变量是非常常见的一项操作,...
- **Shell内置命令**:如`cd`用于改变目录,`echo`用于打印文本,`export`用于设置环境变量,这些都是Bash自身提供的命令,无需调用外部程序。 - **Shell变量**:Bash支持多种类型的变量,如环境变量、位置参数、...
在Linux中,尤其是bash Shell,环境变量的设置通常涉及两个主要的系统级配置文件:`/etc/bashrc`和`/etc/profile`。这两个文件在用户登录时被读取,用于初始化Shell环境。`/etc/bashrc`通常用于设置用户级别的配置,...
我想临时清空 bash shell 环境变量。但我不想删除或者 unset 一个输出的环境变量。我怎样才能在 bash 或 ksh shell 的临时环境中运行程序呢? 你可以在 Linux 或类 Unix 系统中使用 env 命令设置并打印环境。env ...
### Linux 下 adduser 及环境变量问题解析 #### 一、环境变量问题解析 在 Linux 系统中,用户可以通过 `su` 命令来切换用户身份,这对于日常管理和故障排查非常有用。但是,当你从一个普通用户切换到 root 用户时...
Linux的环境变量是操作系统用来存储信息的一系列变量,这些信息对用户的交互式会话和运行的程序至关重要。环境变量在Linux系统中扮演着传递配置信息的角色,比如路径、语言设置等。以下是一些关于Linux环境变量修改...
Linux 配置 Java 环境变量 一、Java 环境变量的重要性 在 Linux 系统中,配置 Java 环境变量是非常重要的,因为它将影响到 Java 应用的安装、编译和运行。环境变量可以指定命令搜索路径、类搜索路径和 JDK 安装...
描述中提到的“不错的配置”可能包含了一些实用的别名、函数、环境变量设置,这些都可以帮助用户简化日常命令行操作。例如,定义一个别名`alias ll='ls -lh'`可以让用户用更短的`ll`命令来查看目录内容,并以详细的...
在描述中提到的“另一个Linux漏洞补丁合集”,暗示可能存在之前已知的bash漏洞,比如著名的“Shellshock”漏洞,该漏洞允许攻击者通过精心构造的环境变量值来执行任意代码。这些补丁的目的是修补这些已知的安全漏洞...
本文将详细介绍几个常见的Linux环境变量,包括`SHELL`、`LANG`、`PATH`、`MANPATH`、`INPUTRC`、`BASH_ENV`、`DISPLAY`、`COLORTERM`、`USER`、`LOGNAME`、`MAIL`、`HOSTNAME`和`HISTSIZE`等,并通过一个示例文件...