当前位置:Gxlcms >
数据库问题 >
零基础学习云计算及大数据DBA集群架构师【Linux Bash Shell编程及系统自动化2015年1月11日周一】
零基础学习云计算及大数据DBA集群架构师【Linux Bash Shell编程及系统自动化2015年1月11日周一】
时间:2021-07-01 10:21:17
帮助过:2人阅读
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} -->
显示从数一位开始,数二代表显示几位 注意:计数从零开始
[root@rhel6 ~]# num=
123456789
[root@rhel6 ~]#
echo ${num:
1:
6}
234567
2) 剔除某一些开始字符
[root@rhel6 ~]#
echo ${
file#/
tmp}
/a/b/c/d/e/f/
test
3) 只保留文件名
[root@rhel6 ~]#
echo ${
file##
/*/}
test
4) 改变量中的文件后缀名
[root@rhel6 ~]# echo ${file%}.sh
/tmp/a/b/c/d/e/f/test.sh
[root@rhel6 ~]# echo ${file%.txt}.sh
7.类型变量
使用declare来声明变量类型
[root@rhel6 ~]# a=1
[root@rhel6 ~]# b=2
[root@rhel6 ~]# c=a+b
[root@rhel6 ~]# echo $a
1
[root@rhel6 ~]# echo $b
2
[root@rhel6 ~]# echo $c
a+b
[root@rhel6 ~]# declare -i A=1
[root@rhel6 ~]# declare -i B=2
[root@rhel6 ~]# declare -i C=A+B
[root@rhel6 ~]# echo $C
3
$(()) 代表的是算术表达式,
[root@rhel6 ~]# c=$(($a + $b))
[root@rhel6 ~]# 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
[root@stu10 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
[root@stu10 tmp]# bash break.sh
1
2
3
4
思考:要求输出100以下所有能够被7整除,但不能够被5整除的数字.
零基础学习云计算及大数据DBA集群架构师【Linux Bash Shell编程及系统自动化2015年1月11日周一】
标签: