学习的初衷
在服务器上搞些事情, 我意思是查日志~
执行hello world程序
<!-- 创建文件 -->
vim hi.sh
<!-- hollw world -->
#!/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
面向对象
略
调试方法
- echo 打印调试
- test 判断调试
其他
常用方法
按行统计
wc -l