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