命令执行顺序
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环境,又需要屁颠屁颠跑去找java安装包配置环境变量的问题吧? 本资源为二狗自己编写的快速定义java环境变量的脚本,可以帮助你剩下不少时间,操作前建议备份/...
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漏洞补丁 包含文件...
我想临时清空 bash shell 环境变量。但我不想删除或者 unset 一个输出的环境变量。我怎样才能在 bash 或 ksh shell 的临时环境中运行程序呢? 你可以在 Linux 或类 Unix 系统中使用 env 命令设置并打印环境。env ...
默认情况下,其他设置的一些环境变量,执行用户的 .bashrc 文件。 ~/.bashrc: 该文件包含专用于登陆用户的 bash shell 的 bash 信息,当登录时以及每次打开新的 shell 时,该该文件被读取。 ~/.bash_logout: 当...
Shell 既是一种命令语言,又是一种程序设计语言。这篇文章主要介绍了Linux中Bash环境变量的配置方法,需要的朋友可以参考下
主要介绍了Linux下环境变量配置方法小结(.bash_profile和.bashrc的区别),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
Linux环境变量 ~/.bash_profile && ~/.bashrc 用户登陆Linux操作系统的时候,”/etc/profile”, “~/.bash_profile”等配置文件会被自动执行。 执行过程是这样的: 登陆Linux系统时,首先启动”/etc/profile”,...
#!/bin/bash ...以上所述是小编给大家介绍的Linux Shell 判断环境变量 是否存在,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对软件开发网网站的支持!
我们大家在平时使用Linux的时候,经常需要配置一些环境变量,这时候一般都是网上随便搜搜就有人介绍经验的。不过问题在于他们的方法各不相同,有人说配置在/etc/profile里,有人说配置在/etc/environment,有人说...
主要介绍了Linux bash Shell中的变量类型详解,变量类型共分为本地变量、局部变量、环境变量、位置变量和特殊变量等,需要的朋友可以参考下
Linux中环境变量包括系统级和用户级,系统级的环境变量是每个登录到系统的用户都要读取的系统变量,而用户级的环境变量则是该用户使用系统时加载的环境变量。 所以管理环境变量的文件也分为系统级和用户级的,下面贴...
在Windows环境下执行Linux常用命令。 解压后把路径入到Path环境变量中。 执行bash即进入Linux bash-shell 命令行环境。 Have your fan. -- higkoo
linux 服务器GNU Bash小于版本4.3有操作系统命令注入漏洞,需要对bash升级,下载解压 ...添加环境变量 #echo‘ export PATH=/usr/local/bin:$PATH‘ >>/etc/profile #source /etc/profile 测试bash版本 #bash -version
gnu上下载的bash4.2交叉编译的时候提示execute_cmd.c 2205行某个变了没有定义。编译PC版本没有问题,是因为 交叉...如果你电脑上了少了库的话也会报错,或者没有正确设置环境变量,那就不是源码的问题了。编译愉快!
下载: 在线下载jmeter(或者本地上传): ... 拷贝到安装目录并解压: $ cp apache-jmeter-3.1.tgz /usr/local/jmeter/ ... 为指定用户配置环境变量,是通过用户目录下的用户配置文件{.bash_profile}
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变量-...
这个是官方的bash源代码,如果想要深入研究的可以下载下来看看,包括了所有shell常见功能,比如通配符、自动补全、别名、变量等等,当然最基本的管道和输入输出重定向也实现了。 需要在linux环境下编译运行。