Shell编程规范与变量基础知识(一)
shell的作用 ----命令解释器 “翻译官”
介于系统内核与用户之间,负责解释命令行
1.编写脚本代码
使用vi文本编辑器
每行一条linux命令,按执行顺序编写
[[email protected]]#vi firstsh //新建first.sh
cd /boot // 切换到boot目录下
pwd // 显示绝对目录
ls -lh vml*
[[email protected]]#chmod +x first.sh //添加可执行文件
chmod +755 first.sh
2.赋予执行权限
使脚本具有执行权限
执行脚本文件
1.脚本文件路径 ./ ./first.sh
2.sh 脚本文件路径 sh .first.sh
3.source 脚本文件路径 . first.sh
3.更完善的脚本构成
脚本声明 规范 #!/bin/bash
注释信息 #this ismy first...
可执行语句
cd /boot
echo “输出” “当前的目录位于:”
pwd
echo “其中以vml开头的文件”
ls -lh vml*
4.交互式硬件设备
标准输入:从该设备接收用户输入的数据
标准输出:通过该设备向用户输出数据
标准错误:通过该设备报告执行出错信息
5.重定向操作
6.管道操作符号 “|”
将左侧的命令输出结果,作为右侧命令的处理对象
格式:cmd1 命令1 | cmd2 命令2 [...|cmdn 命令 n]
管道操作通常用来过滤所需要的关键信息。
7.变量的类型
自定义变量:由用户自己定义、修改和使用
环境变量:由系统维护,用于设置工作环境
位置变量:通过命令行给脚本程序传递参数
预定义变量:Bash中内置的一类变量,不能直接修改
8.数值类型
整型 int 例如:1 10
浮点型 (单精度 float 双精度浮点double)
非数值类型
字符型char 例如: a b c ‘男’
字符串 string 例如:“abc” object对象
布尔值 boolean 例如:true 布尔值只有两种结果1 0
变量 在内存中开辟了一块空间存储值
数组 在内存中开辟了一块连续的空间 相同的数据类型
集合 可以放不同的数据类型
9.自定义变量
定义一个新的变量
格式:变量名=变量值
变量名以字母或下划线开头,区分大小写,建议全大写
查看变量的值
格式:echo $变量名
10.赋值时使用引号
双引号:允许通过$符号引用其他变量值
单引号:禁止引用其他变量值 ,$视为普通字符
反撇号:命令替换,提取命令执行后的输出结果
11.从键盘输入内容为变量赋值
格式:read [-p “提示信息]
设置变量的作用范围
格式1:export 变量名...
格式2:exiport 变量名=变量值
——两种格式可以混合使用
12.整数变量的运算
格式:expr 变量1 运算符 变量2 [运算符 变量3]...
使用expr进行计算的时候,变量必须是整数,不能是字符串,也不能含小数,否则会出错
13.环境变量;查看环境变量:env
由系统提前创建,用来设置用户的工作环境
配置文件:/etc/profile、~/.bash_profile
常见的环境变量
echo $PATH //查看当前搜索路径
14.位置变量
表示为$n,n为1~9之间的数字
15.预定义变量
$#:命令行中位置变量的个数
$*:所有位置变量的内容
$?:上一条命令执行后返回的状态,当返回状态值为0时表示执行正常,非0值表示执行异常或出错(一般用于判断)
$0:当前执行的进程/程序名
总结:
Shell脚本的内容构成:环境声明、注释文字、执行语句。
重定向包括重定向输入、重定向输出、错误重定向。
定义或赋值变量时,采用”变量名=变量值”的格式。赋值操作还可使用单引号、双引号、反撇号、read命令等方式。
查看或引用变量的值时,采用“$变量名”的格式。
常见的特殊变量包括环境变量、位置变量、预定义变量。
转载于:https://blog.51cto.com/13620950/2117740