1编程基础
程序:指令+数据
程序编程分格:
过程式:以指令为中心,数据服务于指令
对象式:以数据为中心,指令服务于数据
Shell程序:提供了编程能力,解释执行
程序的执行方式
计算机:运行二进制指令
编程语言:
低级:汇编
高级:编译:高级语言->编译器->目标代码
编译性语言编写的程序通常是需要通过编译器去转换成计算机可以识别的二进制文件,并且是一个独立的文件,然后再去运行,像 java,C#等
解释:高级语言->解释器->机器代码
像shell这种就是解释性语言,它可以把编写好的文本直接拿来运行,在运行时,后台的shell编译器会临时的将文本文件解释成机器代码,不会生成独立二进制文件,它是放在内存中的 还有像Perl,Python也是解释性语言
编程基本概念
编程逻辑处理方式:
顺序执行 多个命令顺序执行
循环执行 为了满足某种条件我们需要命令的循环执行像创建多个账号,复制或打印多个文件等
选择执行 满足各种不同的条件去执行不同的命令
Shell编程:过程式,解释执行
编程语言的基本结构:
各种系统命令的组合
数据存储:变量,数组
表达式:a+b
语句:if
2, Shell脚本基础
Shell脚本:
包含一些命令或申明,并符合一定的文本文件
格式要求:首行shebang机制
#!/bin/bash
#!/user/bin/Python
#!/user/bin/Perl
Shell脚本的用途有:
自动化常用命令
执行系统管理和故障排除
创建简单的应用程序
处理文本或文件
创建shell脚本
第一步:使用文本编辑器来创建文本文件
第一行必须包括shell声明序列:#
#!/bin/bash
添加注释
注释以#开头
第二步:运行脚本
给予执行权限,在命令上指定脚本的绝对火相对路径
直接运行解释器,将脚本作为解释器的程序的参数运行
脚本规范
脚本代码开头约定
1 第一行一般为调用使用的语言
2 程序名,避免更改文件名而无法找到正确的文件
3 版本号
4更改后的时间
5作者相关信息
6 改程序的作用,及注意事项
7 最后是各版本的更新简要说明
脚本的基本结构
#!SHEBANG
CONFIGUrATION_VARIABLES 变量
FUNCTION_DEFINITIONS 函数
MAIN_CODE 其它指令
脚本调试
检测脚本中的语法错误
bash -n
调试执行
bash -x
3 变量
变量:命名的内存空间
数据存储方式:
字符:
数值:整型,浮点数
变量:变量类型
作用:1 数据存储格式
2 参与的运算
3 表示的数据范围
类型:字符
数值:整型,浮点数
强类型:变量不经过强制转换,它永远是这个数据类型,许隐式的类型转换,一般定义变量时必须指定类型,参与必须符合类型要求;调用为声明变量会产生错误
如 java, c#
弱类型:语言的运行时会隐式做数据类型转换,无需指定,默认均为字符型;参与运算会自动进行隐式类型转换;无需事先定义可直接调用
如:bash 不支持浮点数,php
变量命名法则:
1 不能使用程序中的关键字
2 只能使用数字,字母及下划线,且不能以数字开头
3 见名知义
4 统一命名规则:驼峰法
局部变量
变量赋值:name=’value’ 变量的值建议用引号 以防值之间有空格被误认为命令而报错
可以使用引用value
1可以是直接字符串:name=“root”
2变量引用:name=“$USER”
3命令引用:name=`command` name=$(command)
变量引用:${name} $name
“” :弱引用,其中的变量引用会被替换为变量值
‘ ’:强引用,其中的变量引用不会被替换为变量值,而保持原字符串
显示已定义的所有变量:set
删除变量:unset name 建议不用的变量及时删除,使之释放空间
本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/89012