shell简介
是壳,一个命令解释器,一种程序。
shell语言的特点:
1.shell是Linux操作系统的命令语言,同时又是该命令语言的解释程序的简称。
2.shell本身是用C语言编写的程序,它是用户Unix/Linux的桥梁,用户的大部分工作都是通过shell完成。
3.shell既是一种命令语言,又是一种程序语言。作为命令语言,它可以交互式地解释和执行用户输入的命令。
4.做为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构 ,包括循环和分支。
5.他虽然不是Unix/Linux系统内核的一部分,但它强调了系统核心的大部分功能来执行程序,建立文件并以并行的方式协调各个程序的运行。
shell能做什么?
1.自动化批量系统初始化程序
2.自动化批量软件部署程序
3.应用管理程序
4.日志分析处理程序等....
shell执行方式
1 bash file.sh
2 sh file.sh
3 .file.sh
4 source file.sh
变量
1.简介
用一个固定的字符串去表示不固定的内容,便于修改。
2.自定义变量
就是自己自由定义的变量。
定义变量:变量名=变量值
引用变量:$变量名或${变量}
查看变量 :echo$变量名
取消变量:unset 变量名
[root@localhost ~]# yyds=123443
[root@localhost ~]# echo $yyds
123443
[root@localhost ~]# unset yyds
[root@localhost ~]# set | grep yyds
_=yyds
交互式变量 : read 变量名
[root@localhost ~]#vim test.sh
#!/bin/bash
read -p "请输入您的姓名:" name
echo $name
[root@localhost ~]# bash test.sh
请输入您的姓名:yyds
yyds
*3种引号的区别
3.整数运算
①expr
②$(())
③$[]
④let
小数运算:bc
4.环境变量
自定义变量只在当前shell有效,其他shell不管用。
自定义环境变量
方法一:expr yuy=youyou //声明环境变量
方法二:expr yuy //将自定义变量转换成环境变量
环境变量的范围只在当前shell和子shell有效。
想要在当前用户登录后一直生效,可以将变量放到~/.bash_profile
想要变量在所有用户登录一直生效,可以将变量放在/etx/profile
expr yuyu=121314
5.位置变量和预定义变量
位置变量的语法命令 参数1 参数2 参数3...9以后有特殊含义
$0 $1 $2...
[root@yy ~]# bash ping.sh 192.168.0.131 192.168.13.13 192.168.0.130 192.168.1.1
预定义变量 $0程序名 $*所有参数 $#参数的个数 $?上一程序的返回值(0-成功非零-失败)