还是围绕以下几个问题进行学习;

1.declare是什么?

2.问什么要用declare?

3.怎样使用declare?

1.declare是什么?

  ♦declare应用的很多,向我们各种语言都会有声明,只是有的不用declare来声明,想orcl中语句块的写法就用的是declare来声明,实际上就是我要用你这个变量我必须知道你是什么类型?我才能用你,不然或许定义的时候没有报错,但是最后的结果却不是你想要的。

  ♦declare命令用于声明和显示已存在的shell变量。当不提供变量名参数时显示所有shell变量。declare命令若不带任何参数选项,则会显示所有shell变量及其值。declare的功能与typeset命令的功能是相同的。

2.问什么要用declare?

  ♦因为我们想达到某种结果就需要对变量进行一些类型或者其他的声明,这样shell才能识别出来他是什么,然后使用这个类型的特殊算法输出自己想要的东西。

3.怎样使用declare?

功能介绍:声明变量的属性,如果使用declare,后面没有任何参数,那么bash就会主动将所有变量名与内容都调出来,just as set.

语 法:

declare(选项)(参数)

参数说明:

-a :将后面的variable定义为数组
-i :将后面的variavle定义为整数数字
-x :用法与export一样,就是将后面的variable变成环境变量
-r :将一个variable的亦是设置成只读,读变量不可更改内容,也不能unset

eg: 
1、将变量sum对200+400求和 

♦1.1.不声明:

1、将变量sum对200+400求和
[root@linux ~]#sum=200+400
[root@linux ~]#echo $sum 200+400——–此处并没有像我们想像中那样会得到结果600,而是 200+400,这是由于它是文字类型的变量属性

♦1.2.声明

[root@linux ~]#declare -i sum=200+400
[root@linux ~]#echo $sum
600————明白了吧

2、将sum变成环境变量 

[root@linux ~]#declare -x sum 

3、让sum变成只读属性,不可更改 

[root@linux ~]#declare -r sum
[root@linux ~]#sum=apple
-bash: sum: readonly variable
[root@linux ~]#unset sum
-bash: unset: sum: cannot unset: readonly variable

在这里要特别说明一下:声明为只读变量之后,不能修改该变量的属性,也不能删除该变量,所以,在声明变量的时候,应该慎用,避免有去无回。另外,你在命令行中敲readonly,你会发现有很多只读变量,当然这些变量也是不能够被修改或删除的。

declare命令的更多相关文章

  1. shell中的declare命令

    declare命令有如下选项: -a 声明一个数组 -i 声明一个整型 -f 打印所有函数定义 -F 仅打印函数名字 -r 声明一个readonly变量,该变量的值无法改变,并且不能为unset -x ...

  2. declare 命令

    declare命令用于声明和显示shell变量. declare为shell指令,命令与 typeset一样,可同时指定多个属性.若不加上任何参数,则会显示全部的shell变量与函数(与执行set指令 ...

  3. Linux:declare命令详解

    declare declare命令用于声明和显示已存在的shell变量.当不提供变量名参数时显示所有shell变量.declare命令若不带任何参数选项,则会显示所有shell变量及其值.declar ...

  4. shell中declare命令

    declare命令有如下选项: -a 声明一个数组 -i 声明一个整型 -f 打印所有函数定义 -F 仅打印函数名字 -r 声明一个readonly变量,该变量的值无法改变,并且不能为unset -x ...

  5. 『忘了再学』Shell基础 — 19、使用declare命令声明变量类型

    目录 1.declare命令介绍 2.声明数组变量类型 3.声明变量为环境变量 4.声明只读属性 5.补充: 1.declare命令介绍 Shell中所有变量的默认类型是字符串类型,如果你需要进行特殊 ...

  6. Linux命令(6/28)——declare/typeset命令

    declare 与 typeset 命令是bash的内建命令,两者是完全一样的,用来声明shell变量,设置变量的属性. declare命令(别名typeset)属shell内建命令,用于申明shel ...

  7. 6-x3 declare和typeset命令:设置变量属性

    declare 和 typeset 都是 Shell 内建命令,它们的用法相同,都用来设置变量的属性.不过 typeset 已经被弃用了,建议使用 declare 代替.declare 命令的用法如下 ...

  8. 学习 Linux,101: Linux 命令行

    概述 本教程将简要介绍 bash shell 的一些主要特性,涵盖以下主题: 使用命令行与 shell 和命令交互 使用有效的命令和命令序列 定义.修改.引用和导出环境变量 访问命令历史和编辑工具 调 ...

  9. SQL Server常用命令

    1.DECLARE DECLARE命令用于声明一个或多个局部变量.游标变量或表变量. 注:如果定义的变量是字符型,应该指定data_type表达式中其最大长度,否则系统认为其长度为1. declare ...

随机推荐

  1. Android给ListView添加一个入场动画

    动画是一个App体现良好交互的一种手段,通常的我们会看到很多App的ListView的Item都有一个入场动画例如: 可以看到,当进入界面加载ListView的Item的时候有一个向左滑动显示,并且淡 ...

  2. 图解Java常用数据结构(一)

    最近在整理数据结构方面的知识, 系统化看了下Java中常用数据结构, 突发奇想用动画来绘制数据流转过程. 主要基于jdk8, 可能会有些特性与jdk7之前不相同, 例如LinkedList Linke ...

  3. 116. Populating Next Right Pointers in Each Node (Tree; WFS)

    Given a binary tree struct TreeLinkNode { TreeLinkNode *left; TreeLinkNode *right; TreeLinkNode *nex ...

  4. Spring AOP相关术语

    ---------------------siwuxie095                                 Spring AOP 相关术语         (1)Joinpoint ...

  5. for 续7

    ----------siwuxie095                 for 中的变量:     FOR 变量参照的替换已被增强.您现在可以使用下列选项语法: ~I - 删除任何引号(" ...

  6. qt5.7 安装

    http://blog.csdn.net/liang19890820/article/details/53931813#安装-qt57 安装运行出错:qt vstool 指定qt安装路径 http:/ ...

  7. 在Linux下使用logrotate管理日志(转)

    原文地址:http://www.tuicool.com/articles/ieAnMjN logrotate是日志循环管理工具,可以分割日志文件,删除旧的日志文件,创建新的日志文件,循环管理日志从而节 ...

  8. Web图片编辑控件开发文档-Xproer.ImageEditor

    版权所有 2009-2014 荆门泽优软件有限公司 保留所有权利 官方网站:http://www.ncmem.com 产品首页:http://www.ncmem.com/webplug/image-e ...

  9. “undefined JNI_GetCreatedJavaVM”和“File format not recognized”错误原因分析

    如果编译时,报如下所示错误:../../third-party/hadoop/lib/libhdfs.a(jni_helper.c.o): In function `getGlobalJNIEnv': ...

  10. linux每天一小步---mv命令详解

    1 命令功能 mv命令用来移动文件及目录或者重命名文件及目录,它是move的缩写,cp命令与mv命令在很多功能上都非常相似,但是又具有很大的区别,其中组大的区别在于cp命令的使用会保留源文件和目录,而 ...