_N_了吧唧的_ 发表于 2018-8-26 07:05:28

Shell和bash变量类型

  Shell 是面向过程的
  (bash为例)
  变量是进程的变量,进程结束,变量消失。
  
  bash变量类型:
  环境变量
  本地变量(局部变量):
  位置变量
  特殊变量
  
  本地变量: setVARNAME=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, 如果想让其独立执行,则必须有执行权限。

页: [1]
查看完整版本: Shell和bash变量类型