变量及变量类型

编译器,解释器

 

编程语言:机器语言、汇编语言、高级语言

 

静态语言:编译型语言

  强类型(变量类型):变量在使用前,必须事先声明,初始化

  关键字

  事先转换成可执行格式

  C,C++,Java,C#,

 

动态语言:解释型语言, on the fly

  弱类型:变量用时声明,不区分类型(Python)

  边解释边执行

  PHP,shell,python,perl

 

面向过程:shell,C

面向对象:Java,Python,Perl,C++

 

变量:内存空间,命名

 

变量类型:事先确定数据的存储格式和长度

  字符

  数值

    整型

    浮点型

  日期时间型

  布尔类型

 

变量赋值:a=b

 

内存:编址的存储单元

 

bash变量类型:

  环境变量:PATH

  本地变量(局部变量)

  位置变量

  特殊变量

 

本地变量:

  NAME=Jerry,作用域为整个bash进程;

 

局部变量:

  local NAME=Jerry,作用域为当前代码段

 

环境变量:作用域为,当前shell进程及其子进程;

export NAME=Jerry

  “导出”

 

位置变量:

$1,$2,

 

特殊变量:

$?:上一个命令的执行状态返回值

  

  程序执行,可能有两类返回值:

  程序执行结果

  程序状态返回代码(0~255)

  echo $?

    0:正确执行

    1~255:错误执行,1,2,127系统预留;

 

输出重定向:

>

>>

2>

2>>

&>

 

/dev/null:软件设备,bit bucket,位桶,数据黑洞

  id student &> /dev/null,输出至空

 

撤销变量:

unset NAME

 

查看当前shell中变量:

  set

查看当前shell中的环境变量:

printenv

env

export

 

脚本在执行时,会启动一个子shell进程

  命令行中启动的脚本会继承当前shell环境变量;

  系统自动执行的脚本(非命令行启动)就需要自我定义需要各环境变量;

 

引用变量:${NAME},括号可省略

 

脚本:

shebang:魔数

# 注释行,不执行

 

vim practice.sh

#!/bin/bash

  cat /etc/inittab

  ls /var

 

脚本加执行权限

chmod+x  practice.sh

 

当前路径执行

./practice.sh  

sh practice.sh

 

Linux可执行文件格式:

ELF:Executable and Linkable Format,可执行与可链接格式

 

posted @ 2016-09-19 00:28  晴天sunny  阅读(371)  评论(0编辑  收藏  举报