shell脚本学习记录 --变量

脚本常识:
   (1) 以#!开头,后跟解释器路径,例如:/bin/bash 
   (2) 脚本需要有执行权限,执行用sh 脚本名,或者./脚本名 或者 脚本中含有解释器的可以直接通过读取执行。
   (2) `` 之间可以运行命令

1变量
    赋值: 变量名=变量值
2 输出
   echo $变量名  ; echo ${变量名} ;echo "文本信息|转义字符|以;分割的输入命令段" ;
   printf "信息" ;(较少用)
3 环境变量
  (1) 设置: export 变量名=”变量值“ ; 终端:$ 变量名=变量值; $ export 变量名;
  (2) 常用环境变量:$HTTP_PROXY ,$PATH ,$SHELL
  (3) $PATH的常见位置 : /etc/environment 或者 /etc/profile 或者 ~/.bashrc  
4 重定向
  (1) 输入输出和错误分别用0,1,2 代表 stdin,stdout,stderr 
  (2) 定向输出文件用 “产生输出的命令或其他 > 记录输出的定向文件名 ”,输出内容追加到文件末尾用">>",用法同'>'
  (3) 输出作为下一命令的输入:产生输出的命令或其他 | tee 记录输出并作为下一命令的输入的文件名|其他命令
  (4) 重定向错误和输出  ‘产生输出的命令或其他  2>&1  记录的文件,一般为/dev/null ’ 
5 数组
  (1)定义方式跟变量一样:数组名=(值1 值2 值3) ;数值间用空格隔开,下标从0开始。
        或者: 数组名[0] = "值1 "
                   数组名[1] = " 值2"
                   ...... 
  (2)关联数组定义需要先声明数组,如下所示:
       $  declare -A 数组名
       $ 数组名= ([键1]=值1 [键2]=值2 ...)  每对间用空格隔开
       $ # 或者单个赋值: 数组[键1] = 值1  ;  数组[键2] = 值2 ;  
  (3) 输出数组元素
       $ echo ${数组[0]} #给定数值索引输出
       $ index = 5 ; echo ${数组[$index]} ;#用变量值作为索引输出
       $ echo ${数组[*]} ;echo ${数组[@]} ;#输出数组所有元素的两种形式
  (4) 输出数组索引
       $ echo ${!数组[*]};#*代表输出所有索引,可以用@替换,适用于普通数组和关联数组,目前没发现输出单个的。
  

你可能感兴趣的:(shell脚本)