一、简介
Shell是一个功能相当强大的编程语言,易编写、易调试、灵活性强。Shell可以帮助我们来管理大数据集群,提高开发效率。shell 变量? 用一个固定的字符串去表示不固定的内容,便于修改。
shell是操作系统的最外层,shell可以合并编程语言以控制进程和文件,以及启动和控制其他程序。简单来说:shell就是一个用户跟操作系统之间交互的命令解释器。
在一些复杂的Linux维护工作中,大量重复的输入和交互操作不但费时费力,而且容易出错.编写脚本的好处:批量的处理,自动化的完成维护,减轻管理员的负担。
二、变量的类型
2.1自定义变量
2.1.1显示赋值
使用方法: 变量名=变量值 变量名必须以字母或下划线开头,区分大小写 。
引用变量: $变量名 或 ${变量名}
查看变量: echo $变量名; "set"可以查看所有变量(包括自定义变量和环境变量)
取消变量: unset 变量名
作用范围: 仅在当前shell中有效
example:
2.1.2隐藏赋值
read 从键盘读入变量值
read 变量名
read -p "提示信息: " 变量名
read -t 5 -p "提示信息: " 变量名 //-t 等待5秒,后超时
read -n 2 变量名 //-n 只记录几个字符
example:
2.2环境变量
定义环境变量: 方法一 export back_dir2=/home/backup
方法二 export back_dir1 将自定义变量转换成环境变量
引用环境变量: $变量名 或 ${变量名}
查看环境变量: echo $变量名 env 例如env |grep back_dir2
取消环境变量: unset 变量名
变量作用范围: 在当前shell和子shell有效 !!!
example:
仅在当前shell 和子shell 生效 ,如果想要变量永久生效,可在配置文件里加入变量即可
位置 /etc/profile
2.3位置变量
命令 参数1 参数2 参数3 …9以后特殊定义
$1 $2 $3 $4 $5 $6 $7 $8 $9 ${10} …
example:
example2:
三、变量运算
3.1整数运算
3.1.1 expr
expr
expr 1 + 2
expr $num1 + $num2 + - * / %
+加
-减
*乘
/除
%取余
注意:数值和运算符之间一定要加空格!!!
example:
3.1.2 $(())
example:
3.1.3 $[ ]
example:
3.1.4 let
先给表达式赋值,再输出值
example:
3.2小数运算
先下载bc工具,用来小数计算
echo “scale=保留小数位;运算” |bc
example:
四、实例
编写脚本,创建用户并且设置密码
这就是创建一个用户并设置密码的简单脚本。