linux 编程基础

版本介绍:

  • 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

你可能感兴趣的:(操作系统)