码迷,mamicode.com
首页 > 系统相关 > 详细

shell编程:编译器、解释器 变量

时间:2018-12-24 11:13:04      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:test   静态语言   pre   int   转换   结果   字符   exp   bash变量   

强类型(变量) 静态语言 编译型语言 无解释器 有编译器 使用变量时需要事先声明,甚至还需初始化 NULL
弱类型(变bash变量类型:环境变量,本地变量,(局部变量),位置变量,特殊变量
本地变量:bash进程的变量,引用变量:${}量) 动态语言 脚本编程 变量用时声明 ,甚至不区分类型:默认为字VARNAME符,有时花括号可以省略

隐式转换 :
显式转换 :
变量赋值:VAR_NAME=VALUE
bash变量类型:环境变量,本地变量,(局部变量),位置变量,特殊变量
本地变量:bash进程的变量,引用变量:${VARNAME},有时花括号可以省略
VARNAME=VALUE 作用域是整个bash进程
局部变量:local VARNAME=VALUE 作用域为当前代码段
环境变量:作用域为当前shell进程及其子进程 export VARNAME=VALUE
脚本在执行时会启动一个子shell进程,命令行中启动的脚本会继承当前shell 环境变量,系统自动执行的脚本(非命令行启动)就需要自我定义需要各环境变量:
位置变量 $1, $2,$3 ...... 特殊变量 $? :上一个命令的执行状态返回值
程序执行可能两类返回值 程序执行结果 程序执行状态 ,程序执行状态 代码(0-255) 0 正确执行
1-255 错误执行
1,2,127系统保留
/dev/null 软件设备,bit bucket 数据黑洞 撤消变量 unset VARNAME ($VARNAME变量值)
查看当前shell中变量:set查看当前shell中的环境变量 printenv /env /export shell默认所有变量都是字符串
脚本:命令的堆砌,按实际需要,结合命令流程控制机制实现的源程序, shebang:指定魔数 #!/bin/bash 第一行 其它行数 #开头为注释行,条件测试的表达式:[expression] [expression]
test expression 整数比较: -eq :测试两个整数相等 比如$A -eq $B
变量名称:1、只能包含字母、数字和下划线、并且不能数字开头
2、不应该跟系统中已有的环境变量重名
3、最好做到见名知义
控制结构:
if判断条件 :then
statement1 statement2 fi
if 判断条件 then
statement1
statement2
else
statement1
statement2
fi

shell编程:编译器、解释器 变量

标签:test   静态语言   pre   int   转换   结果   字符   exp   bash变量   

原文地址:http://blog.51cto.com/14087650/2334419

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!