shell编程
################################################
静态语言
动态语言
################################################
编程语言:机器语言,汇编语言,高级语言
################################################
面向对象的编程语言:sehll c
面向对象的编程语言:JAVA Python perl c++
################################################
变量:内存空间,命名
内存:编址的存储单元
################################################
变量类型:定义变量的存储格式
字符型
数值型:整型,浮点型
################################################
逻辑运算:&与 ||或 !非 异或
################################################
bash变量类型
环境变量
本地变量(局部变量)
位置变量
特殊变量
变量名称规则
不能和存在的变量重名
见名知意
################################################
VARNAME=VALUE 整个bash进程都有效
local VARNAME=VALUE 对当前代码有效
环境变量:
当前的shell进程及子进程有效
################################################
撤销变量:unset VARNAME
################################################
$? :程序执行完成的返回值
o正确
1-255错误返回值 1,2 127预留
[[email protected] ~]# $?
-bash: 127: command not found
[[email protected] ~]# echo $?
127
[[email protected] ~]# echo it is
it is
################################################
输出重定向
>
>>
2>
2>>
&> 错误和正确结果
把返回值给/dev/null
[[email protected] ~]# cd /cdd &> /dev/null
[[email protected] ~]# echo $?
1
[[email protected] ~]# cd / &> /dev/null
[[email protected] /]# echo $?
0
/dec/null
[[email protected] ~]# echo $?
0
查看环境变量的命令
printenv
env
export
################################################
脚本的作用:为完成特定任务的命令堆砌
脚本编写:创建user1 user2 user3 user4 user5 用户
##########
1,创建.sh文件
[[email protected] /]# vim /tmp/useradd.sh
##########
2,书写格式
[[email protected] /]#
#!/bin/bash
#
useradd user1
useradd user2
useradd user3
useradd user4
useradd user5
##########
3,给脚本执行权限
[[email protected] ~]# chmod +x /tmp/useradd.sh
##########
4,执行脚本
[[email protected] ~]# /tmp/useradd.sh
################################################
条件判断
bash中如何实现条件判断
条件测试类型
整数
文字
文件
################################################
条件测试表达式
[expression]
[[expression]]
test expression
整数比较:比较加中括号
-eq: =相等 [ $a -eq $b ]
-ne:\=不等
-gt:>大于
-lt:<小于
-Gt:>=
-Lt:<=
################################################
命令间的逻辑关键
逻辑与:&& 第一个为假,第二个不用执行
|| 第一个为真,第二个要执行
创建user7,不存在创建user7,存在提示已存在
[[email protected] ~]# vi ./id.sh
#!/bin/bash
#
! id user7 &> /dev/null && useradd user7 || echo ‘user7 is exist‘
或:|| 第一个为真
################################################