Shell和bash变量类型

Shell 是面向过程的

(bash为例)

变量是进程的变量,进程结束,变量消失。


bash变量类型:

    环境变量

    本地变量(局部变量):

    位置变量

    特殊变量


本地变量: set  VARNAME=VALUE

     作用域为整个bash进程


局部变量:

     local VARNAME=VALUE 作用域为当前代码段


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

    export VARNAME=VALUE

or:

    VARNAME=VALUE

    export VARNAME


位置变量:

$1


特殊变量:

$?  保存上一个命令执行状态返回值

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

    状态返回代码:(0~255)

        0:正确执行

         1-255:各种错误执行  ,1, 2 , 127系统预留

echo $? 看看结果


-------------------------------------------

/dev/null : 软件设备,数据黑洞

-------------------------------------------

撤销变量

    unset VARNAME

    ($VARNAME 表示操作值, 不加$表示操作变量)

查看当前shell的变量

    set   (包括环境变量和本地变量)


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

    printenv

    env

    export

修改变量

GA=aaa

修改:GA=$GA:aa:ss用冒号分隔


变量不做算数运算(默认为字符串保存)

A=3

B=3

C=$A+$B

echo $C   // 3+3


linux 只是别ELF的执行文件


脚本文件第一行

    shebang: 魔数(根据这个选择shell执行)

    #!/bin/bash

如果脚本不能执行:

    1. 权限

    2. 环境变量(如果不加环境变量,可写绝对路径)

    3. 或者直接使用解释器(bash)执行 bash f.sh, 如果想让其独立执行,则必须有执行权限。


本文出自 “90设计工作室” 博客,转载请与作者联系!

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。