一、背景
虽然自己是一名java程序员,做后端的,但是最近工作中经常需要看别人写的脚本去运行项目,所以作为后端程序员,我们也需要了解一下shell语法,会读懂一些基本的shell脚本。
二、变量相关
1、变量赋值
(1)普通变量赋值
a="hello world"
(2)通过命令赋值给变量,两种方式。
a=$(pwd)
b=`uname`
2、取消变量
unset A
3、获取变量的长度
${#b}
4、变量内容的删除
(1)删除语法
% | 代表从右往左去掉第一个匹配的 |
%% | 从右往左去掉所有匹配的 |
# | 代表从左往右去掉第一个匹配的 |
## | 代表从左往右去掉所有匹配的 |
eg:
#返回 text
a=a.txt
echo ${a##*.}
4、变量内容的替换
(2)替换语法
${变量名/旧值/新值}
eg:
#返回b.txt
a=a.txt
echo ${a/a/b}
5、打印变量
(1)方式一
echo $a
(2)方式二
echo ${a}
6、查询环境变量
(1)查看当前环境变量
env
(2)筛选环境变量
env | grep Name
(3)支持筛选普通变量或者环境变量
set | grep Name
7、定义一个环境变量
(1)方式一
declare -x BBB=jiankang
(2)方式二
export DDD=jiankang
8、全局变量配置文件
(1)更改后都需要source让其生效
全局配置环境变量 | /etc/profile |
当前用户的环境变量 | home/.bash_profile |
当前用户的bash信息 | /home/.bashrc |
所有用户生效的全局bash信息 | /etc/bashrc |
9、系统变量
$? | 上一条命令是否正常执行 0表示正常(真) 非0表示执行异常 |
$0 | 当前执行程序或者脚本名 |
$# | 脚本后面传的参数个数 |
$* | 脚本后面所有参数,逗号分隔 |
$@ | 脚本后面所有参数 |
$1 | 脚本后面所跟的第一个参数 |
$9 | 脚本后面所跟的第九个参数 |
${10} | 脚本后面所跟的第十个参数 |
$$ | 当前所在进程的进程号 |
$! | 后台运行的最后一个进程号(当前终端) |
!$ | 调用最后一条命令历史中的参数 |
三、总结
以上就是就是关于shell语法变量相关所有内容,希望对大家有帮助,可以参考一下,觉得不错的话,欢迎微信搜索关注java基础笔记,后面会不断更新相关知识,大家一起进步。