概述
一、编程介绍
1、早期编程
(1)驱动 硬件默认是不能用的;
(2)不同的厂家硬件设备之间需要进行指令沟通,我们需要驱动程序来进行“翻译”;
(3)更趋近于硬件开发的工程师需要学习“汇编语言”,而“汇编语言”被厂家所限制,C、C++的底层就是汇编语言
2、现在编程
基于高级和超高级语言,使程序员能够更好的实现编程功能
3、编程语言的分类
根据服务的重心不同分为:
(1)面向过程:侧重于指令
(2)面向对象:侧重于数据
根据程序翻译成二进制指令的方式不同分为:
(1)低级语言:汇编语言
(2)高级语言:根据编译方式的不同分为:
(1)解释型:逐行翻译,逐行执行。例:shell、python、JAVA
(2)编译型:一次编译,全部执行。例:C、C++、C#、JAVA
4、顺序执行无逻辑关系
循环执行 -- *for* while until
选择执行 -- 分支 if case*
二、shell脚本语言的介绍
1、优缺点
优点:调用os(操作系统)的命令行,来实现所有功能;
缺点:没有库调用(区分python)
2、Shell脚本包括:(1)*命令*(非常重要)
(2)变量(全局变量、局部变量、本地变量、传参)
(3)逻辑关系
3、Shell的第一句话(必须写)
#!/bin/bash –定义脚本解释器(普遍认为#为注释行,这里特殊)
#!/usr/bin/python
/etc/s11hells //查看当前系统支持的shell程序
Echo $SHELL // 查看当前会话的shell程序
/etc/passwd //制定了用户默认支持的shell 程序(/sbin/nologin)
4、shell的执行
(1)Bash命令来执行脚本
-n 来查看shell脚本的逻辑错误(注意:单词写错不管)
-x 逐行显示执行的脚本程序(方便排错)
(2)授权chmod u+x filename.sh
使用全路径执行脚本
示例:添加用户
#!/bin/bash
if id $* &> /dev/null;then
echo"这个用户已经存在"
else
for i in $*;do
useradd $i
echo "123456" | passwd --stdin "$i" &> /dev/null
echo"用户 $i 添加成功"
done
exit 0
fi
三、变量
1、分类
(1)环境变量
(2)局部变量:declare 命令 – 定义变量类型
(3)本地变量 :关键字必须指定local,local在函数中使用
2、变量类型:
(1)数值型:
整型 int
浮点型 float double
布尔值 0 1(真 假) (TRUE FALSE)
(2)字符串:
普通字符及字符串
数组
3、编程语言的分类:
强类型语言 – 数值必须被定义,才能进行处理或运算
弱类型语言 – 编程语言可以自动识别变量类型
【*多态*一个数据具有多个属性,而最后使用的属性取决于和它进行运算的数据】
4、传参
$? //上一条命令的执行状态 0争取 1-255 错误
$1 $2 …$(10) //命令后面传入脚本的数据,以空格为分隔符
$# // 统计传参数量 ${$#}
$* //表示所有的传参,所有的传参以字符串形式进行输出
$@ // 表示所有的传参,所有的传参以列表的形式进行输出
【工作中要对所有的传参进行操作的时候,就要考虑$*和$@】
5、定义变量格式:
NAME=VALUE (一个等号叫赋值,两个等号叫判断)
我们通过命令declare定义变量类型
Declare -I 整数 int() str()
Declare -a 数组
6、变量命名:
(1) 下划线的方式指定变量名称
(2) 驼峰命名方式
四、test文件测试、条件判断
1、在脚本中,我们需要语句分支(判断),判断就是使用test命令来实现。
使用格式:
(1)test [option] file
(2)[条件语句]
【用test判断时加[],不用时不加[]】
2、常见的test选项
(1)比较选项
-eq 等于
-ne 不等于
-gt 大于
-ge 大于等于
-lt 小于
-le 小于等于
(2)判断选项
-f 判断是否为普通文件
-d 判断是否为目录文件
-L 判断是否为链接文件
-r -w -x 判断文件是否具有 读 写 执行 权限
(3)关联选项
-o 或
-a 与
-! 非
3、字符串判断
= 判断两百年的字符串是否相同
!= 不等于
-z 判断字符串是否存在,存在即为真
-n 和-z相反,存在为假,不存在即为真
五、逻辑运算
与 &&:两边的命令都为真,才为真
或 || :两边的命令,一真即为真
非 != :
这个逻辑运算符,前后对接的都是单独存在的命令;
示例:[$? -eq 0]&& exit 0 || exit 1
六、算术运算
let 1+1
expr 1*1
$[$1+10]
$(($1/$2))
示例:用while循环计算100内整数相加的和
#!/bin/bash
declare -i i=0
declare -i sum=0
while [ $i -le 100 ];do
sum+=$i
let i++
done
echo $sum
转载于:https://www.cnblogs.com/www-k/p/11348213.html
最后
以上就是唠叨水杯为你收集整理的shell的编程原理的全部内容,希望文章能够帮你解决shell的编程原理所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复