5544992 发表于 2018-8-18 06:33:44

Linux shell编程(一)变量与字符串操作

  1. #! /bin/bash
  shopt -s -o nounset
  infomix="50"
  echo $infomix
  =========================
  -s 表示打开选项的意思,-o 表示可用set -o 设定的选项,nounset 表示变量一定要先设定过,才能使用。
  2.I=8
  J=$I
  echo $J
  #######J=$I 这一行,$I会替换成8,再把8设定给J,最后显示8.
  3.   I=8
  echo \$I
  ########$放在变量名称之前,表示要取变量值,但如果要显示$符号,得使用转义符‘\’。
  4.除了使用内置命令echo显示变量的内容外,BASH还提供一个printf命令
  printf "格式字符串"字符串或变量值
  HI=“hello world”
  printf "%s" "$HI"
  ###########会以字符串的方式(%s之意),显示HI变量值内容,但不换行。
  HI=“hello world”
  printf "%s\n" "$HI"
  #####在格式字符串中加入\n,就有换行的效果。
  5.“取消变量”和“清空变量”差异
  取消变量的方法:使用unset
  unset 变量名称
  清空变量的做法:变量名称=
  myname="ols3"
  myname=
  #######把变量重新设一个空值,等号的右边是空的。
  6. 变量和引号
  在双引号中,可进行以下3个操作:
  (1)替换变量
  (2)替换命令执行结果
  (3)替换算术运算结果
  ##单引号的作用是形成一个所见即所得得字符串(即写什么,就显示什么),不会进行任何替换变量的操作。
  7. 环境变量
  变成环境变量的方法可使用export这个命令:
  testVAR="hello world"
  export testVAR       或者
  export testVAR="hello world"
  8. IFS
  定义字段分割字符。默认值为:空格符,tab字符,换行字符。
  #i/bin/bash
  CHK="test1 test2 test3 test4"
  for i in $CHK
  do
  echo $i
  done
  ######由于$IFS的内容之一是空格符,所以可把$CHK拆成4个部分(称为字段),分别交给echo $i显示出来。
  执行结果:
  test1
  test2
  test3
  test4
  9. 调整变量的属性
  只读变量:使用readonly命令
  设定为只读变量:readonly 变量名称
  不能修改内容的变量为只读变量。
  10. 别名
  替指令取一个短而方便的代称。
  alias 别名=指令
  alias ll='ls -l --color=auto'
  取消别名的方法:unalias 别名
  11. 数组的用法
  A=5
  A=10
  A=28
  这里建立了一个数组叫A,共有3个元素,欲显示或取得某一个元素的值,其语法为:${数组[索引值]}
  echo ${A}
  建立数组,也可以一次设定每个元素的值,做法如下
  B=(23 88 89 66)
  echo ${B}
  取出数组所有的元素
  echo ${B[@]}
  结果显示:23 88 89 66
  取得数组元素的个数
  echo ${#B[@]} 结果是4,表示数组B有4个元素。
  取消数组或数组元素
  unset B
  12. 用Here Document设定变量
  Here Document 的基本语法为:
  命令
页: [1]
查看完整版本: Linux shell编程(一)变量与字符串操作