liukaida 发表于 2018-8-23 11:50:34

小白学习shell编程

  linux中默认的shell有一下几种:
  1.bash(发行版默认)
  2.csh
  3.ksh
  4.tcsh
  shell是一种解释性的脚本语言
  脚本语言还有 python(比较流行) perl php等等
  1.变量
  bash变量的类型:
  1.环境变量:作用域为当前shell进程及其子进程
  2.本地变量(局部变量)
  3.位置变量
  4.特殊变量
  首先介绍一下环境变量:
  添加环境变量   export VARNAME=VALUE
  脚本执行时,会启动一个子shell进程,命令行中启动的脚本会继承当前shell环境变量;
  系统自动启动执行的脚本(非命令行启动)就需要自己定义需要的环境变量.
  本地变量或者称作局部变量
  声明方式: VARNAME=VALUE 作用域为整个bash
  local VARNAME=VALUE 作用域为当前的代码段
  位置变量
  $1:表示引用命令行的参数列表中的第一个参数
  $2:表示引用命令行参数列表中的第二个参数
  ...以此类推
  ...等等
  shift /shift n: shfit表示删除参数列表中的第一个,后面每一个都向前移动, shitf n表示删除前n个,后面的向前移动
  特殊变量
  $?:上一个命令执行状态的返回值
  $? 若为0,表示前一条命令正确返回,1-255,表示错误执行(1,2,127系统预留,最好不使用)
  $#:命令行参数列表的个数
  $*:命令行传递的参数列表
  $@:命令行传递的参数列表
  变量的引用 ${VARNAME} ,一般花括号可以省略(若不会引起变量名歧义)
  ''单引号表示强引用,引号中的变量不替换
  ""双引号为弱引用,引号中的变量会替换
  所以做变量替换时注意使用双引号
  撤销变量
  unset VARNAME
  查看变量
  set
  查看环境变量
  env
  printenv
  export
  变量名:只能包含字母数字下划线,并且不能以数字开头,不应该跟系统中已有的变量重名,最      好做到见名知意。
  2.bash中如何实现条件判断
  条件测试类型:整数测试,字符测试,文件测试
  一、整数测试
  表达式:
  [ expression ]
  ` expression `
  test expression
  注意:中括号和expression必须用空格分开
  命令有:
  -eq:相等
  -ne:不相等
  -gt:大于
  -lt:小于
  -ge:大于等于
  -le:小于等于
  二、字符测试
  表达式
  [ expression ]
  ` expression `
  关键字有
  ==:等于
  !=:不等于
  >/>=:大于/大于等于
  
页: [1]
查看完整版本: 小白学习shell编程