Shell总结

学习的初衷

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

执行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

面向对象

调试方法

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

其他

常用方法

按行统计
wc -l

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • shell 学习总结 总览 变量 1.可用字母数字下划线,不能以数字开头2.不能使用bash关键字3.变量赋值=号...
    bpker阅读 277评论 0 1
  • 1. 使用字符串拼接尤其要用心(我终于感觉自己慢慢把这个坑给填平了): ${word}${suffix} 2. 字...
    五大RobertWu伍洋阅读 219评论 0 0
  • 关于Mongodb的全面总结 MongoDB的内部构造《MongoDB The Definitive Guide》...
    中v中阅读 32,099评论 2 89
  • Swift进阶 - 个人总结 本章内容来自于喵神翻译的Swift进阶,有兴趣的同学可以阅读原书,更加详细! 本章内...
    阿奈阅读 1,710评论 0 7
  • HTML制作网页 一、HTML(超文本标记语言) W3C标准(World Wide Web Consortium)...
    11阅读 465评论 0 0