Linux学习 - Bash变量
一、用户自定义变量(本地名)
用户自定义变量只有在当前的shell中生效
1 定义变量
name="zheng huiwei"
aa=123
2 变量叠加
aa="$aa"456
aa=${aa}789
3 变量调用
echo $name
echo $aa
4 变量查看
set
5 变量删除
unset name
unset aa
二、环境变量
保存的是和系统操作环境相关的数据,
环境变量会在当前shell和这个shell的所有子shell当中生效,如果把环境变量写入相应的配置文件,那么这个环境变量就会在所有的shell中生效。
使用命令:bash可以建立子shell,使用命令:pstree确定进程数
1 申明变量
export 变量名=变量值
或
变量名=变量值
export 变量名
2 查询变量
env
3 删除变量
unset 变量名
4 系统常见环境变量
(1)PATH:系统查找命令的路径
# echo $PATH
/usr/lib/qt-3.3/bin: /usr/local/sbin/: usr/local/bin: /sbin: /bin: /usr/sbin: /usr/bin: /root/bin
注:可以将自己的脚本位置添加到PATH系统查找命令路径之下
例如我的脚本在/home/zhw/sh/hello.sh中,使用变量叠加命令
PATH="$PATH":/home/zhw/sh 将脚本位置添加到系统查找命令路径下
(2)PS1:定义系统提示符的变量
| 提示符 | 功能 | 格式 |
| \d | 显示日期 | “星期 月 日” |
| \h | 显示简写主机名 | 默认“localhost” |
| \t | 显示24小时制时间 | “HH:MM:SS” |
| \T | 显示12小时制时间 | “HH:MM:SS” |
| \A | 显示24小时制时间 | “HH:MM” |
| \u | 显示当前用户名 | |
| \w | 显示当前所在目录的完整名称 | |
| \W | 显示当前所在目录的最后一个目录 | |
| \# | 显示执行的是第几个命令 | |
| \$ | 提示符 |
root用户提示“#” 普通用户提示“$” |
例:

三、位置参数变量
用来向脚本当中传递参数或数据,变量名不能自定义,变量作用是固定的
| 位置参数变量 | 作用 |
| $n |
$0代表命令本身 $1-$9代表第1个到第9个输入参数 ${10} |
| $* | $*把所有的参数看成一个整体 |
| $@ | $@把每个参数区分对待 |
| $# | 命令行中所有参数的个数 |
四、预定义变量
在Bash中已经定义好的变量,变量名不能自定义,变量作用也是固定的
1 预定义变量
| 预定义变量 | 作用 |
| $? |
最后一次执行的命令的返回状态 返回0:上一条命令执行正确 返回非0:上一条命令执行错误 |
| $$ | 当前进程的进程号(PID) |
| $! | 后台最后一个进程的进程号(PID) |
例:$?

例:$$、$!


Linux学习 - Bash变量的更多相关文章
- Linux学习——环境变量设置
一般来说,配置交叉编译工具链的时候需要指定编译工具的路径,此时就需要设置环境变量.例如我的mips-linux-gcc编译器在“/opt/au1200_rm/build_tools/bin”目录下,b ...
- 学习bash——变量
一.什么是变量 变量:一个字眼,用来替代另一个比较复杂或者是容易变动的数据. 变量的优势:可变性.方便性 二.变量内容的设置 关键词:变量,变量名称,变量的内容(我默认将变量与变量名称等价) 方法:变 ...
- Linux系列教程(二十二)——Linux的bash变量
上篇博客我们介绍了bash的一些基本功能,这是我们平时操作最频繁的.本篇博客我们介绍bash的变量,为后面编写shell脚本做铺垫. 1.什么是变量 变量是计算机内存的单元,其中存放的值可以改变. 当 ...
- Linux学习 - 环境变量配置文件
一.环境变量配置文件的作用 /etc/profile /etc/profile.d/*.sh ~/.bash_profile ~/.bashrc /etc/bashrc 1 /etc/profile的 ...
- linux学习-环境变量与文件查找
- linux学习18 shell脚本基础-bash变量和逻辑运行
一.回顾 1.用户管理,权限管理,install,mktemp 2.用户管理: 3.权限管理: mode,ownership mode: user group other r w x 4.命令:ins ...
- Linux学习之管道符、重定向、通配符、转义符、环境变量
Linux学习之管道符.重定向.通配符.转义符.环境变量 1. 输入输出重定向 输入重定向是指把文件导入命令中. 输出重定向是指把原本要输出到屏幕的数据信息写入指定文件中. a 标准输入重定向(STD ...
- 鸟哥的Linux私房菜-第10/11/12/13章(vim程序编辑器、学习bash、正则表达式与文件格式化处理、学习Shell Scripts)
第10章 vim程序编辑器 可以将vim看做vi的进阶版本,vim可以用颜色或底线等方式来显示出一些特殊的信息. 为何要学习vim?因为: a. 所有的 Unix Like 系统都会内建 vi 文书编 ...
- linux bash变量作用域
linux bash变量作用域 一,思考一个问题,当在shell里执行某个程序时,shell是怎么找到这个程序的? shell会去$PATH环境变量定义的目录里去找这个命令.环境变量里一般包括/usr ...
随机推荐
- Kubernetes Deployment 源码分析(二)
概述startDeploymentController 入口逻辑DeploymentController 对象DeploymentController 类型定义DeploymentController ...
- 这一篇 K8S(Kubernetes)集群部署 我觉得还可以!!!
点赞再看,养成习惯,微信搜索[牧小农]关注我获取更多资讯,风里雨里,小农等你,很高兴能够成为你的朋友. 国内安装K8S的四种途径 Kubernetes 的安装其实并不复杂,因为Kubernetes 属 ...
- Flink 实践教程 - 入门(4):读取 MySQL 数据写入到 ES
作者:腾讯云流计算 Oceanus 团队 流计算 Oceanus 简介 流计算 Oceanus 是大数据产品生态体系的实时化分析利器,是基于 Apache Flink 构建的具备一站开发.无缝连接. ...
- R数据分析:如何给结构方程画路径图,tidySEM包详解
之前一直是用semPlot这个包给来进行结构方程模型的路径绘制,自从用了tidySEM这个包后就发现之前那个包不香了,今天就给大家分享一下tidySEM. 这个包的很大特点就是所有的画图原始都是存在数 ...
- [hdu7023]Yet Another Matrix Problem
关于$f(x)$的条件,将$C=A\times B$代入,即$\sum_{i=1}^{n}\sum_{j=1}^{n}\sum_{k=1}^{r}A_{i,k}B_{k,j}=x$ 调换枚举顺序,即$ ...
- [loj2136]地震后的幻想乡
考虑kruskal的过程:对$n$条边随机排列(排序),令$k$表示前$k$条边恰好能使图联通,根据题目的提示,即$E(\frac{k}{m+1})=\frac{E(k)}{m+1}$ 设$p(k)$ ...
- 【Tool】IntelliJ IDEA 使用技巧
IntelliJ IDEA 使用技巧 2019-11-06 20:51:43 by冲冲 1.快捷键 Ctrl+w //括出相关范围 Ctrl+shift+f //按照代码段在全局搜索 Ctrl+f ...
- [Git专题] 环境搭建
环境搭建 在正式使用 Git 之前,首先应当安装 Git 并完成一些基础配置,本章内容就教大家在 Ubuntu 和 CentOS 上安装 Git 的方法. 安装 Git 客户端 如果你使用的是基于 D ...
- 一个非常好用的IDEA插件,用于填充set
对于对接三方接口总有一堆字段参数,如在入参时需要赋值,将请求参数封装成一个pojo实体类,然后需要为其set,调用许多setter方法,如果一行行去编写很麻烦,...能不能节省一下我仅存的生产力呀.. ...
- html+css第四篇
浮动 float浮动: 1.块在一排显示 2.内联支持宽高 3.默认内容撑开宽度 4.脱离文档流 5.提升层级半层 float:left | right | none | inherit; 文档流是文 ...