shell编程笔记-Day_01

编程语言的分类:
高级语言、超高级语言需要翻译成计算机可读的语言(二进制指令)
解释型语言--逐行翻译,逐行执行 shell 、python
编译语言-- 一次编译,全部执行 C、C++、JAVA
面向对象--侧重于数据的编程语言
面向过程--侧重于指令
编程语言的执行方式:
1、顺序执行:
2、循环执行 -- for、while、until
3、选择执行--分支 if case
shell脚本语言介绍:
优点:调用os的命令行,来实现所有功能
缺点:没有库调用

shell脚本包括:1、命令
2、变量(全局变量、局部变量、本地变量、传参)
3、逻辑关系

shell的第一句话!!!!!!!!!
#!/bin/bash -- 定义脚本解释器(普遍认为#为注释行,这里特殊)#!shebang
#!/usr/bin/python

/etc/shells -- 查看当前系统支持的shell程序
echo #SHELL -- 查看当前会话的shell程序
/etc/passwd -- 制定了用户默认支持的shell程序(/sbin/nologin)

shell的执行:
1、bash命令来执行脚本
-n 查看shell脚本的逻辑错误(注意:单词写错不管)
-x 逐行显示执行的脚本(方便排错)
2、授权 chmod u+x filename.sh使用全路径执行,即可
变量
环境变量
局部变量 declare 命令 -- 定义变量类型
本地变量 local 使用在函数中

变量类型:
数值型:
1、整型 int
2、浮点型 float
3、布尔型 0 1 (false true)
字符串:
1、普通字符及字符串
2、数组
编程语言的分类:
强类型语言 -- 数值必须被定义,才能进行处理或运算
弱类型语言 -- 编程语言可自动识别变量类型
【多态】:一个数据具有多个属性,而最后使用的属性取决于和他使用的运算数据
传参
$? -- 上一条命令的执行状态 0 正确 1-255 错误
$1 $2 $3... ${10} -- 命令后面转入脚本的数据,以空格为分隔符
$# -- 统计传参数量 $($#)
$@ -- 表示所有传参(以列表的形式输出)
$* -- 表示所有传参(以字符串形式输出)
定义变量格式:
NAME=VALUE
我们通过declare定义变量类型
declare -i a=10 定义a为整型数值
变量命令:
1、下划线的方式指定变量名称
2、驼峰命名
test文件测试,条件判断
在脚本语言中,我们需要进行语句分支;说白了就是做判断
判断就是使用test命令来实现
使用格式:
1、test 【option】file
2、 【条件判断】
常见的test选项:
比较选项:
-eq 等于
-ne 不等于
-gt 大于
-ge 大于等于
-lt 小于
-le 小于等于
判断选项:
-f 判断是否为普通文件
-d 判断是否为目录文件
-L 判断是否为连接文件
-r -w -x 判断是否有读、 写、执行权限
关联选项:
-o 或
-a 与
! 非
逻辑运算
与 $$ :两边的命令都为真,结果才是真
或 || :两边的命令,一边为真,就是真;同时为假,才是假。
非 != :
这个逻辑运算符,前后对接的都是单独存在的命令;
算术运算
let 1+1
expr 1*1
$[]
$()

+、-、*、/、%、**

原文地址:https://www.cnblogs.com/MrGhost/p/11348266.html