版本介绍:
- Red Hat 收费版本,红帽企业级Linux
- Centos Red Hat的社区克隆版本,免费
- Debian 运行比较稳定
- Ubuntu Debian的衍生版,最受欢迎,最流行的Linux桌面系
计算机语言的分类
编译型:运行前翻译,
解释型:
变量
局部变量
# local可以查看局部变量
# 定义一个局部变量
ii='chenzhou'
# 变量赋值
contrainid=$(sudo docker ps -a |grep "kafka" |cut -c1-12)
# 通过命令行取值
echo $contrainid
环境变量(全局变量)
echo $ZSH #ZSH 的全路径
echo $ZSH_VERSION
echo $EUID
echo $FUNCNAME # 在脚本函数里面,如果想找到的这个函数的名称,就用这个玩意
export VAR=value #导出环境变量
hopt -s -o nounset #设置变量先声明在使用
unset name #取消变量
unset function #取消函数
--位置参数
$1、$12 #脚本变量
$# 脚本参数个数总和
$@ $* 表示脚本所有参数
--脚本或者命令返回值
$?
只读变量(创建时就确定值,以后不能修改)
readonly namek=222
变量的作用域(命名空间)
数据结构
数组
declare -a Array #定义一个数组
Array[1]=2 #给数组赋值
declare -a name=("chenlushun" "zhoumengli") # 创建的时候赋值
name=('lin' 'jiang') #不需要声明就创建一个数组
echo ${name[*]} #打印数组所有元素
echo ${name[@]} #打印数组所有元素
字符处理
# cut
cut -d ‘:’ -f 3
# grep
-n输出行号
-v取反
echo $PATH | grep ‘root’
last |grep -v root
grep --color=auto 'mvn’ deploy_web.sh
dscacheutil -q group| grep -5 chenlushun --匹配前后5行
$grep -A 5 'parttern' inputfile //打印匹配行的后5行
$grep -B 5 'parttern' inputfile //打印匹配行的前5行
# sort
cat /etc/passwd
# 按照首字母排序
cat /etc/passwd |sort
# 以:分割,以第三列数据排序
cat /etc/passwd |sort -t ':' -k 3
# uniq去重
last |cut -d ' ' -f1 |sort |uniq
# wc
cat deploy_cashier.sh |wc
17 30 348
行、 字数、 字符数
# 统计这个月登陆人数
last |grep -v 'wtmp' |wc -l
# 文件分割
split -l 500 ytx-trade-order-mobile.log small_file_
运算符
循环
for循环格式:
for varable in list
do
command
done
例如
#!/bin/bash
for index in 1 2 3 4 5 6
do
echo $index
done
流程控制
- if语句格式
if expression; then
command
fi
例如
#!/bin/bash
echo -n "Please input a score:"
read SCORE
if [ "$SCORE" -lt 60 ]; then
echo "c"
fi
if [ "$SCORE" -lt 80 -a "$SCORE" -ge 60 ]; then
echo 'b'
fi
if [ "$SCORE" -ge 80 ]; then
echo "a"
fi