变量存在于内存中,内存编址

 所以要制定长度和类型

溢出  就是装不下了

强:需要声明 甚至初始化

弱:不需要声明 直接用  甚至不区分类型

变量赋值  =



bash变量类型

    环境变量    export VARNAME=value作用域为当前shell进程及其子进程 oracle安装的时候用过

    本地变量   VARNAME=VALUE  整个进程都可以使用 除非进程关闭  

    位置变量   local VARNAME=VALUE  作用域为当前代码段 

    特殊变量   保存某些特殊数据的 例如 $?

bash:变量和进程相关 必定是某个进程的变量 进程消失变量消失

      本地变量只存在于自己的bash进程中  重新开一个bash的话 变量就不存在了

引用变量 $后接变量名 一般不需要加括号  除非后面还要接字符 比如 ${NAME}S 只要不会引起混淆 就    不用加{}

对于双引号和单引号的区别

“”弱引用 做变量替换

‘’强引用 不做变量替换


任意脚本在启动的时候都会启动一个子shell进程:

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

    系统自动执行的脚本(非命令行启动)需要手动设置环境变量 


特殊变量$?: 保存上一个命令的执行状态返回值


程序执行后有两类返回值:

        1 程序执行结果

        2 程序执行状态

            成功  返回为0

            失败 返回代码1-255                    1   2   127  系统自留使用