零基础学习云计算及大数据DBA集群架构师Linux Bash Shell编程及系统自动化2015年1月11日周一
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了零基础学习云计算及大数据DBA集群架构师Linux Bash Shell编程及系统自动化2015年1月11日周一相关的知识,希望对你有一定的参考价值。
基础命令 1.sort 排序 根据首字母的ascii进行排序 -n 根据数字大小升序排序 -r 降序排序 -u 剔除重复的行 -k -t 结合一起用 -k 指定列 -t指定分隔符 2.uniq 剔除重复的行 3.seq 序列 seq 10 -->代表以1为起始,以1为间隔罗列到10之前的数字 seq 2 10 -->代表以2为起始,以1为间隔罗列到10之前的数字 seq 1 2 10 -->代表以1为起始,以2为间隔罗列10之前的数字 seq 10 -1 1 ================================== shell 1.作用 2.构成元素 1) 文件名.sh 2) 文件第一行 #!/bin/bash 3) 正文 变量 流程判断语句 系统命令 3.执行脚本的方法 1) bash 脚本名称 2) ./脚本名称 -->需要对脚本有可执行的权限 ========== 变量 1.定义:可变化的值,可以反复调用,不停变更数值. 2.设置方式: 变量名=赋值. 3.调用的方式 $变量名 4.分类 1)本地变量:只针对当前环境生效. 2)环境变量:针对子shell有效. 设置的方式 export 变量名=值 5.清除 unset 变量名 6.替换 1) 显示位数 ${变量名:数1:数2} --> 显示从数一位开始,数二代表显示几位 注意:计数从零开始 [[email protected] ~]# num=123456789 [[email protected] ~]# echo ${num:1:6} 234567 2) 剔除某一些开始字符 [[email protected] ~]# echo ${file#/tmp} /a/b/c/d/e/f/test 3) 只保留文件名 [[email protected] ~]# echo ${file##/*/} test 4) 改变量中的文件后缀名 [[email protected] ~]# echo ${file%}.sh /tmp/a/b/c/d/e/f/test.sh [[email protected] ~]# echo ${file%.txt}.sh 7.类型变量 使用declare来声明变量类型 [[email protected] ~]# a=1 [[email protected] ~]# b=2 [[email protected] ~]# c=a+b [[email protected] ~]# echo $a 1 [[email protected] ~]# echo $b 2 [[email protected] ~]# echo $c a+b [[email protected] ~]# declare -i A=1 [[email protected] ~]# declare -i B=2 [[email protected] ~]# declare -i C=A+B [[email protected] ~]# echo $C 3 $(()) 代表的是算术表达式, [[email protected] ~]# c=$(($a + $b)) [[email protected] ~]# echo $c ========================================== 1.条件判断语句 if condition -->condition指的是判断的条件 then CMD1 --> CMD1指的是满足判断条件后执行的语句 else CMD2 --> CMD2指的是不满足判断条件执行的语句 fi if condition then CMD1 elif condition then CMD2 else CMD3 fi read可以用来将键盘输入赋值给某一个变量 用法 read 变量名 值 read -p "提示信息" 变量名 2.test判断 man test查看的相关的判断指令 用法[] 数字的判断 -gt 大于 -ge 大于等于 -lt 小于 -le 小于等于 -ne 不等于 -eq 等于 字符的判断 -z 空 = 字符相等 != 字符不相等 -n 非空 逻辑与 -a 逻辑或 -o 文件的判断 -d 文件是不是一个目录 -f 是不是一个普通文件 -e 文件是不是存在 ======================= for :1.作用:循环语句 用法 for 变量 in 取值范围 do CMD done for i in test1 test2 {1..10} $(seq 1 10) do CMD done 命令行方式:for i in {1..10};do echo $i;done =========================================== while 循环语句 用法 while condition -->满足condition则执行cmd do CMD done bash -x 以调试模式来运行脚本 会将脚本运行的过程显示出来 until 循环语句 用法: until condition -->不满足condition,则执行cmd do CMD done case 多条件判断 语句 用法: case 取值 in 取值1) CMD1 ;; 取值2) CMD2 ;; 取值3) CMD3 ;; *) *代表除了以上所有的取值,做某一些操作. CMD4 ;; esac continue 作用于循环语句中 代表跳出这个循环进入下个循环. break 作用于循环语句中 代表直接跳出该循环. continue的例子: for i in {1..10} do if [ $i -eq 5 ] then continue fi echo $i done [[email protected] tmp]# bash continue.sh 1 2 3 4 6 7 8 9 10 break的例子 continue的例子: for i in {1..10} do if [ $i -eq 5 ] then break fi echo $i done [[email protected] tmp]# bash break.sh 1 2 3 4 思考:要求输出100以下所有能够被7整除,但不能够被5整除的数字.
以上是关于零基础学习云计算及大数据DBA集群架构师Linux Bash Shell编程及系统自动化2015年1月11日周一的主要内容,如果未能解决你的问题,请参考以下文章
零基础学习云计算及大数据DBA集群架构师Linux系统配置及网络配置2015年12月28日周一
零基础学习云计算及大数据DBA集群架构师Linux系统环境及权限管理2015年12月24日周四
零基础学习云计算及大数据DBA集群架构师Linux系统网络服务及安全配置1.4-1.8
零基础学习云计算及大数据DBA集群架构师Linux系统环境及权限管理2015年12月25日周五