吹静静

欢迎QQ交流:592590682

一、Bash 变量概述

Shell 与其他语言的对比

  (1):php 和 java 主要实现功能

  (2):Shell 简化管理操作

   注:内容不多,但是不太容易

二、Bash 变量与变量分类

1、什么是变量

  >>>  变量四计算机内存单元,其中存放的值可以改变

  >>>  变量让你能够把程序中准备使用的每一段数据都赋予一个简短的、易于记忆的名字,因此他们十分有用

2、变量命名规则

  >>>  变量名必须以字母或下划线开头,名字中间只能由字母、数字和下划线组成

  >>>  变量名的长度不要太长

  >>>  变量名再有效的范围内必须是唯一的

  >>>  再Bash 中,变量的默认类型都是字符串型

3、变量的分类

  >>>  用户自定义变量:变量是用户自定义的。

  >>>  环境变量:这种变量中主要保存的是和系统操作环境相关的数据。变量可以自定义,但是对系统生效的环境变量名和变量作用是固定的。

  >>>  位置参数变量(属于预定义变量):这种变量主要是用来向脚本当中传递参数或数据的,变量名不能自定义,变量作用是固定的。

  >>> 是Bash中已经定义好的变量,变量名不能自定义,变量作用也是固定的。

三、用户自定义变量

1、变量定义

  >>> 变量名=变量名

    #(中间不能有空格)
  例如:x=5

       name="xiao ming"

 注:如果变量值中间有空格,就用双引号或者单引号,用单引号时,引号内的特殊符号(例如:&)有含义

2、变量调用

  >>> echo  &变量名

  例如:

      echo  &x

      echo  &name

3、变量叠加(两种方法)

注:第一种好用

4、变量查看

  >>> set

    选项:

    -u     如果设定此选项,调用未声明变量时会报错(默认无任何提示)

5、变量删除

  >>> unset  变量名

注:删除的时候变量名前面不加 $

四、bash 环境变量

1、环境变量与自定义变量的区别

  (1):用户自定义变量是局部变量:只在当前 Shell 中生效

  (2):环境变量是全局变量:在当前 Shell 和这个 Shell 的所有子Shell 中生效

  (3):变量可以自定义,但是对于系统生效的环境变量名和变量作用是固定的

  >>>  pstree   查看当前在哪个Shell

2、设置环境变量

  >>> export  变量名=变量值    (环境变量大写)

    或  

         变量名=变量名

        exprot  变量名

3、查看环境变量

  >>> set    (查看所有变量)

  >>> env   (只查看环境变量)

 4、PATH 环境变量

 

  (1):PATH变量:系统查找命令的途径

  (2):echo  $PATH  
     # 查看PATH环境变量

  (3):PATH=“$PATH”:/root/sh

       # 增加PATH变量的值

5、PS1环境变量

注:以上变量定义后,系统重启后消失,想要永久定义,慢慢学

五、bash 语系变量

1、当前语系查询

  >>> locale

    # 查询当前系统语系

    LANG    :定义系统主语系的变量

    LC_ALL定义整体语系的变量

注:主要看LANG就行了,其他的很少用到

 2、语系变量LANG

   >>> echo  $LANG

    # 查看系统当前语系

  >>> locale  -a  |  more
    # 查看Linux支持的所有语系

3、查询系统默认语系

  >>> cat  /etc/sysconfig/i18n

注:每次开机后,系统支持的语言环境

六、位置参数变量

例子1:$n

编写程序:

 执行程序:

 例子2:$*  $@  $#

编写程序:

 执行程序:

 例子3:$* 和 $@ 的区别

for 循环

for  i  in  ” $* “

# $* 中的所有参数看成一个整体,所以这个for循环只会循环一次

 for  y  in " $@ "

# $@ 中的每个参数都看成独立的,所以 “$@" 中有几个参数就会循环几次

 

七、预定义变量

 

接收键盘输入

  >>> read  [选项]  [变量名]

    选项:

      -p  "提示信息"     :在等待read输入时,输出提示信息

      -t   秒数    :read 命令会一直等待用户输入,使用此选项可以指定等待时间

      -n  字符数     :read命令只接受指定的字符数,就会执行

      -s        :隐藏输入数据,适用于机密信息的输入

 

 加上 -t 时间限制,-s 隐藏输入内容

加上 -n 限制输入字符个数

 

posted on 2018-02-03 20:52  吹静静  阅读(126)  评论(0编辑  收藏  举报