变量:

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

长度不能超过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. 设计一个程序,程序中有三个类,Triangle,Lader,Circle。

    //此程序写出三个类,triangle,lader,circle:其中triangle类具有类型为double的a,b,c边以及周长,面积属性, //具有周长,面积以及修改三边的功能,还有判断能否构成 ...

  2. http缓存之304 last-modified,cache-control:max-age,Etag等

    因最近客户端慢的问题,系统分析了下http协议缓存问题.本文主要记录总结http缓存相关知识. 1. 讨论涉及的要点 访问返回类 > 访问返回200 OK > 访问返回200 (from ...

  3. GPS部标监控平台的架构设计(八)-基于WCF的平台数据通信设计

    总体来讲,GPS部标平台的软件开发是一个对网络通信和应用程序之间通信的技术应用密集型的开发工作,也是有一定设计技术含量的工作. 1.设计通信接口 在设计的时候,根据职责划分,拆分成不同的应用子系统,对 ...

  4. A记录、CNAME、MX记录、NS记录

    1. A记录(IP指向) 又称IP指向,用户可以在此设置子域名并指向到自己的目标主机地址上,从而实现通过域名找到服务器找到相应网页的功能. 说明:指向的目标主机地址类型只能使用IP地址. 2. CNA ...

  5. SLP alpha 阶段总结

    这学期快结束了,SLP的alpha阶段也结束了.在alpha版中,我实现了SLP的基础练习模块和全局设置模块,其他几个模块由于能力有限.时间有限而没有实现. 其中基础练习模块目前只能支持4/4拍,有三 ...

  6. REq,RES编码设置

    import java.io.IOException; import javax.servlet.Filter;import javax.servlet.FilterChain;import java ...

  7. eclipse设置汉化

    1. 打开eclipse->help->install new software 2. 打开http://www.eclipse.org/babel/downloads.php,,,找到相 ...

  8. 安装hive+mysql

    1.源码安装mysql 以root用户首先安装libaio-0.3.104.tar.gz tar zxvf libaio-0.3.104.tar.gz cd libaio-0.3.104 make p ...

  9. 纳尼,java可以在接口中实现非抽象方法了?

    纳尼,接口中可以定义实例方法了?! 纳尼,接口中还可以定义静态方法了?! 没错,在Java8中新增了很多新的特性,其中就包括可以在接口中添加方法和变量. 首先我们来看下代码 public interf ...

  10. Java多线程开发系列之番外篇:事件派发线程---EventDispatchThread

    事件派发线程是java Swing开发中重要的知识点,在安卓app开发中,也是非常重要的一点.今天我们在多线程开发中,穿插进来这个线程.分别从线程的来由.原理和使用方法三个方面来学习事件派发线程. 一 ...