变量:

变量由字母、数字、_ 组成,不能以数字开头

长度不能超过255个字符

在bash中,变量的默认类型是字符串类型

变量分类:

1、用户自定义变量:只在当前shell生效,是局部变量

定义方法:  变量名=变量值  #等号两边没有空格

调用方法:  $变量名

变量查看:  set命令查看所有变量  选项:  -u #如果设定此选项,调用未声明变量是时会报错(默认无提示)

删除变量:  unset 变量名

变量叠加:  x=${x}test 或 x="$x"test

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

定义方法:  环境变量名建议大写

       export 变量名=变量值

     或 变量名=变量值 ; export 变量名

查看方法:  env查看环境变量

删除:    只能在创建变量的shell中删除

常用环境变量:

HOSTNAME  主机名

SHELL  当前shell

TERM  终端环境

HISTSIZE  历史命令条数

SSH_CLIENT  记录ssh客户端ip

SSH_TTY  ssh连接的终端

USER  当前登陆用户

PATH  系统搜索命令的路径

3、位置参数变量:预定义变量的一种,主要是用来向脚本当中传递参数或数据的(实际上常用read命令来代替,后文有提),变量名不能自定义,变量作用固定

$n写在脚本中,作用是把数据传入脚本,如:/root/calcu.sh 32 13  ,其中$0就代表/root/calcu.sh,32就代表$1,13就代表$2

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

$$最近进程的进程号

接收键盘输入

  • read 【选项】【变量名】      #多用于脚本中接收用户输入

选项:

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

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

  -n 字符数  #read命令只接收指定的字符数,收到后自动执行

  -s  #隐藏输入的数据,适用于机密数据的输入

shell编程之变量的更多相关文章

  1. Linux学习——shell编程之变量

    shell编程之变量:Linux shell编程基础中的变量. 包括Bash变量的分类和各变量的详细使用,如:用户自定义变量.环境变量.语系变量.位置参数变量和预定义变量. 1:什么是Bash变量? ...

  2. Linux —— Shell编程之变量赋值和引用

    Linux的shell编程是一种非常成熟的编程语言,它支持各种类型的变量.有三种主要的变量类型:环境变量.内部变量和用户变量. 环境变量(environment variable)是系统环境的一部分, ...

  3. Linux编程 21 shell编程(环境变量,用户变量,命令替换)

    一.概述 这篇介绍shell的变量使用,跟其实语言一样,都有声明变量,使用变量,在shell中变量允许你临时地将信息存储中shell脚本中,以便和脚本的其他命令一起使用. 1.1 环境变量 在前面章节 ...

  4. Shell编程-02-Shell变量

    目录 什么是Shell变量 变量类型 环境变量初始化及其对应文件的生效顺序 什么是Shell变量     在初等数学数学方程式中,我们会经常碰到类似于这样的方程式:y=x+1 ,等号左右两边的x和y称 ...

  5. Linux Shell编程、变量、控制语句

    为什么要学习Shell编程 1)Linux运维工程师在进行服务器集群管理时,需要编写Shell程序来进行服务器管理. 2)对于JavaEE和Python程序员来说,工作的需要,你的老大会要求你编写一些 ...

  6. linux shell编程之变量和bash配置文件(第一篇)

    编程语言有两类 强类型:如C语言.数据具有其特定的类型,先声明定义后才能使用.数据运算时必须符合类型要求(如不能把字符串类型数据直接与整型数据做算数运算) 弱类型:如shell.数据默认为字符型,不用 ...

  7. SHELL编程概念&变量剖析

    一.shell软件概念和应用场景 1) 学习Linux技术,不是为了学习系统安装.命令操作.用户权限.配置IP.网络管理,学习Linux技术重点:基于Linux系统部署和维护各种应用软件.程序(Apa ...

  8. Shell 编程 (变量和条件测试)

    变量: 1 . 变量声明 直接使用变量 + 赋值 #!/bin/bash NAME='HELLO WORD' echo $NAME 使用 declare 关键字声明 declare(选项)(参数) + ...

  9. Shell编程之变量进阶

    一.变量知识进阶 1.特殊的位置参数变量 实例1:测试$n(n为1...15) [root@codis-178 ~]# cat p.sh echo $1 [root@codis-178 ~]# sh ...

  10. Shell编程——环境变量

    在Shell程序启动时会自动定义一组变量,这组变量就是环境变量,系统中的所有命令都可以使用这些变量参数. 1.如果在父Shell定义环境变量,在子Shell中也能查看到. (1)父Shell与子She ...

随机推荐

  1. arrayToJson将数组转化为json格式的js代码 ///////////////////////zzzzzzzzzzzzzzzz

    //去除空格 function trim(str) {   return str.replace(/\s|\xA0/g,""); } /** *js数组转json * */ fun ...

  2. 懒人邮件群发日发50-100万封不打码不换IP不需发件箱大站协议系统营销软件100%进收件箱

    用一种新的技术思维去群发邮件 一种不用换IP,不需要任何发件箱的邮件群发方式 一种不需要验证码,不需要**代码变量的邮件群发方式 即使需要验证码也能全自动识别验证码的超级智能软件 教你最核心的邮件群发 ...

  3. openGL漫游功能简单实现

    最近弄openGL漫游功能的时候,在网上找了好多源码都没有达到预期效果,然后就自己写了一个算法分享一下. 上下键实现位移,左右键实现转动. 算法思想:由于改变观察点函数原型为: void gluLoo ...

  4. 解决AndroidStudio中文乱码问题

    File→Settings Appearance.将Theme(皮肤)选为Windows.

  5. ClickOnce添加自定义prerequisite

    参考http://www.codeproject.com/Articles/15863/Add-your-own-custom-prerequisite-to-quot-ClickOnce 下载地址: ...

  6. css样式控制 字符个数,多余的字用省略号代替

    大家好,我是小菜 前端 ,技术不高,正在努力中充电!希望大家多多指教 <div class="show">大家好,我是小菜 前端 ,技术不高,正在努力中充电!希望大家多 ...

  7. input失去隐藏光标(移动端)

    <input type="text" readonly name='lbinput' onfocus="lbinput.blur()">

  8. Struts框架2ActionError类 内部资料 请勿转载 谢谢合作

    ActionError类从不独立进行错误处理,它们总是被存储在ActionErrors对象中.ActionErrors对象保存ActionError类的集合以及它们特定的属性值,我们可以使用自己定义的 ...

  9. CSU 1597 薛XX后代的IQ

    Description 薛XX的低IQ是个令人头疼的问题,他的队友深受其害.幸运的是,薛XX非常有钱,所以他买了一些可以提高他的后代的IQ的药.这种药有三个属性,A,B和P.当薛XX使用这种药的时候, ...

  10. 一个ubuntu phper的自我修养(workbench)

    workbench从此和navicat的激活码说再见 workbench是一个免费易用功能强大的mysql图形化管理软件,navicat上用到的功能,workbench上都能找到. 一.workben ...