Shell编程之变量篇

#!/bin/bash
echo "hello world!"
#定义变量时,变量名不加美元符号($,PHP语言中变量需要)如:
name="jack"
##注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样。同时,#变量名的命名须遵循如下规则:
#命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。
#不能使用标点符号。
#不能使用bash里的关键字(可用help命令查看保留关键字)。

#赋值方式

    #1.显示赋值
    name="jack"

    #2.语句赋值
    for file in `ls /etc`;do
         echo $file
    done

#或者
#for file in $(ls /etc)

##使用变量
  #格式 ${variable_name} or $variable_name

  #使用一个定义过的变量,只要在变量前加美元符号即可
  echo $name
  echo ${name}
  #变量名外边的花括号是可选的,加不加都行,加花括号是为了
  #帮解释器识别变量的边界,例如:
  for skill in Ada Coffe Action JAVA;do
      echo "I am good at ${skill}Script"   
  done

##只读变量
  #格式 readonly variable_name

  #例如修改前面定义的变量name为只读
  readonly name
  #这时我们重新给name赋值,则会报"This variable is read only"的错误
  #name="mary"

##删除变量
  #格式  unset variable_name
  #变量被删除不能再次被使用,unset不能删除只读变量  

  #例如删除之前定义的变量name
  #unset name

##变量类型
  #1) 局部变量 局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启     #动的程序不能访问局部变量。
  #2) 环境变量 所有的程序,包括shell启动的程序,都能访问环境变量,有些程序需要环    #境变量来保证其正常运行。必要的时候shell脚本也可以定义环境变量。
  #3) shell变量 shell变量是由shell程序设置的特殊变量。shell变量中有一部分是环境#    #变量,有一部分是局部变量,这些变量保证了shell的正常运行

#shell中的字符串
  #1.单引号
  ##限制:
   #单引号里的任何字符都会照原样输出,单引号字符串中的变量是无效的
   #不能转义字符
   #单引号字符串中不能有单引号(对单引号使用转义符也不行)
   str1='string'


  #2.双引号
   str2="hello ,I know you are \"${str1}\"!\n"

#字符串操作
  #拼接字符串
    #无需"+",可以直接拼接。例如
  name1="mary"
  name2="Tom"
  greeting1="hello,"$name1"!"
  greeting2="hello,${name2}!"
  echo $greeting1 $greeting2

#获取字符串长度
  echo ${#name1}  #输出4

#提取字符串
  #提取greeting1的内容,从第2个字符开始,截取4个字符
  echo ${greeting1:1:4} #输出ello

#查找字符串
  #查找字符l或者o的位置(那个字母先出现输出那个,从1开始)
  echo `expr index ${greeting1} lo`
  #这里使用了expr 表达式后面再介绍


















































猜你喜欢

转载自blog.csdn.net/qq_35211818/article/details/81332307
今日推荐