Shell总结

学习的初衷

在服务器上搞些事情, 我意思是查日志~

执行hello world程序


vim hi.sh


#!/bin/bash
echo "hollw world"


chmod +x hi.sh


./hi.sh

变量

常用数据类型

字符串
数组

如何声明变量

# 注意不能有空格
param=str
param='str'
# 双引号中可以使用变量
param="str"
# 使用变量加$或者${}
echo $param
echo ${param}

字符串api

字符长度

# 字符长度
string=wahaha
echo ${#string}

拼接字符串

# 直接拼接
string=hello
string2=world
echo $string$string2

截取

string=substring
# 截取开始的位置, 从0开始数
offset=1
# 截取的字符长度
limit=4
echo ${string:$offset:$limit}

列表 api

如何定义列表

array=(item item1 item2 item3)
# 读取元素
echo ${array[0]}
# 读取全部元素
echo ${array[@]}
# 数组长度
echo ${#array[@]}
# 添加元素
array+=(item4 item5)

方法

如何定义方法

# 方法名加(), $1表示第一个参数, 依此类推, >9要加{}, 定义之后才能调用
method(){
echo $1
echo ${10}
}

method hello

判断语法

a=1
b=2
# 判断数字
if test $a = $b
then
    echo "111"
elif [ $a -eq $b ]
then
    echo "222"
else
    echo "333"
fi
# 字符串判断
s1="qq"
s2="ww"
if [ $s1 == $s2]
then
  echo "字符串判断"
fi

循环语法

array=(123 234 345)
for var in ${array[@]}
do
    echo $var
done

b=5
while test $b -gt 0
do
    let "b--"
    echo $b
done

面向对象

调试方法

  1. echo 打印调试
  2. test 判断调试

其他

常用方法

按行统计
wc -l

你可能感兴趣的:(Shell总结)