关于shell变量的基础概念

1.声明与使用
    1.1语法
变量名=值 #注意没有空格
变量没有数据类型    
    1.2使用变量
  ${变量名}
        如果没有歧义情况{}可以省略
    1.3数据类型
理论上bash不支持数据类型,但扩展支持整数类型与数组
语法:
declare -i 变量=值
typeset -i 变量=值
    1.4变量的修饰
常量
  declare -r 常量名=值
  readonly 常量名
  declare -r 后不能在下一行赋值
    1.5 变量的作用范围与导出变量
1.5.1 代码内的变量作用范围
    ()与{}的差异
    ()执行另外建立子shell环境来执行()
    {}当前shell环境执行,同一环境
     shell环境[变量的作用范围,环境变量,设置选项]
1.env打印系统环境变量
2.set打印当前shell的环境变量与设置
3.set -o打印shell选项设置
4.开启选项
set -o 选项名
5.关闭选项
set +o 选项名
       1.5.2 shell脚本与shell脚本之间
a.shell的调用方式
    fork的调用  直接调用:建立子进程
    exec的调用  加载调用:使用shell替代当前的
    source调用  代码包含:等价于c的#include
b.全局永远不要指望访问局部
   局部可以访问全局.bash需要额外处理
       1.5.3变量的导出
 declare -x  变量1 变量2....
 export 变量1...
 结论:
      在系统的配置文件的变量导出使用,必须使用export
       set -o  allexport开启 全部变量导出
       1.6 特殊的变量
1.6.1 环境变量
  PATH:执行程序的搜素路径

  PS1:命令提示符号

     \! 显示该命令的历史记录编号。  
     \# 显示当前命令的命令编号。  
     \$ 显示$符作为提示符,如果用户是root的话,则显示#号。  
   \\ 显示反斜杠。  
   \d 显示当前日期。  
   \h 显示主机名。    
\n 打印新行。  
\nnn 显示nnn的八进制值。  
\s 显示当前运行的shell的名字。  
\t 显示当前时间。  
\u 显示当前用户的用户名。  
\W 显示当前工作目录的名字。  
\w 显示当前工作目录的路径。  

PS1="\t"

  PS2:
  提示符号支持特殊的转义符号
1.6.2 命令行变量
  $0:命令本身
  $1....$9:命令行参数
  $* $@ :所有命令行参数
  $#:命令行参数个数
1.6.3 命令执行状态码
  $?
  状态码0-255
  $$ 进程ID $PID
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值