shel脚本基础系列(一)变量

140 阅读1分钟

本文已参与[新人创作礼]活动,一起开启掘金创作之路

一、背景

        虽然自己是一名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基础笔记,后面会不断更新相关知识,大家一起进步。