美文网首页
Shell编程--变量

Shell编程--变量

作者: Amy1234567 | 来源:发表于2020-05-22 20:49 被阅读0次

    Shell与其他语言的对比

    1. php和java主要实现功能

    (Shell,所见即所得。直接能看见结果,编译过程放在执行行过程中,所以要比java,c慢)

    2. Shell简化管理操作

    Bash变量

    1. 变量命名规则:

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

    2)变量名的长度不得超过255个字符

    3)变量名在有效的范围内必须是唯一的

    4)在Bash中,变量的默认类型都是字符串型

    在任何系统中,目录名,文件名,变量名都要有含义

    变量的值,如果有空格,需要用单引号或者双引号括起来

    2. 变量按照存储类型分类

    1)字符串型

    2)整形

    3)浮点型

    4)日期型

    3. 变量的分类

    1)用户自定义变量。变量自定义的

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

    3)位置参数变量:这种变量主要是用来向脚本中传递参数和数据的,变量名不能自定义,变量作用是固定的

    4)预定义变量:是bash中已经定义好的变量,变量名不能自定义,变量作用也是固定的

    4. 用户自定义变量

    变量名=变量值

    =前后不能有空格

    实例

    变量的调用 $变量名

    实例

    变量叠加: 

    x=123

    x="$x"456

    x=${x}789

    实例

    变量查看:

    set: 查询系统下所有已经生效的变量,包括环境变量和用户自定义变量

    set

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

    实例

    变量删除:unset

    例: unset x

    声明静态变量:readonly 变量  (注意:不能unset)

    5. 环境变量

    环境变量和用户自定义变量的区别:

    环境变量是全局变量,用户自定义变量是局部变量。用户自定义变量只在当前的Shell中生效,环境变量在当前Shell和这个Shell的所有子Shell中生效

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

    命令:pstree 查看进程树

    可以查看到当前Shell,父Shell, 子Shell

    实例

    设置环境变量

    imooc

    实例:

    实例

    查看环境变量

    1)set  #查看所有变量

    2)env #查看环境变量

    删除环境变量: unset 变量名

    常用环境变量

    imooc

    PATH环境变量

    PATH变量: 系统查找命令的路径

    echo $PATH  #查看PATH环境变量

    PATH = "$PATH":/root/sh  #增加PATH变量的值

    实例

    PS1环境变量

    定义了当前操作系统的提示符

    实例 imooc 实例

    当前语系查询

    locale  #查询当前语系

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

    - LC_ALL :定义整体语系的变量

    实例

    语系变量LANG

    echo $LANG  #查看系统当前语系

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

    查询系统默认语系:cat  /etc/sysconfig/i18n ???

    Linux中文支持

    前提条件,正确安装的中文字体和中文语系

    1) 如果有图形界面,可以正确支持中文显示。

    2) 如果使用第三方远程工具,只要语系设定正确,可以支持中文显示。

    3) 如果使用纯字符界面,必须使用第三方插件(如zhcon等)。

    6. 位置参数变量

    imooc

    $n主要的作用是向脚本中传递值

    hello.sh 文本内容

    实例

    执行hello.sh,并传递参数

    实例

    注意:$0为命令名,即,文件名

    imooc 实例

    $*和$@的区别:

    imooc

    $*把所有参数看成一个整体,$@会区分对待

    实例

    7. 预定义变量

    imooc 实例

    $$: 返回当前进程的PID

    实例

    $$写在脚本里,输出脚本运行时的PID

    实例

    $!: 后台运行的最后一个进程PID

    实例

    将后台进程写入脚本后执行

    实例

    接受键盘输入

    read [选项] [变量名]

    选项:

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

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

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

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

    实例 实例

    相关文章

      网友评论

          本文标题:Shell编程--变量

          本文链接:https://www.haomeiwen.com/subject/cscaohtx.html