目录

declare命令选项

declare声明变量类型实例


declare命令选项

-a 声明一个数组

-i 声明一个整型

-f 打印所有函数定义

-F 仅打印函数名字

-r 声明一个readonly变量,该变量的值无法改变,并且不能为unset

-x 和export的作用类似

-r 只读

declare -r var1

这大致和C的const限定词相同.一个试图改变只读变量值的操作将会引起错误信息而失败.

-i 整数

declare -i number
# 脚本余下的部分会把"number"当作整数看待.        number=3
echo "Number = $number"     # Number = 3number=three
echo "Number = $number"     # Number = 0
# 脚本尝试把字符串"three"作为整数来求值(译者注:当然会失败,所以出现值为0).

些算术计算允许在被声明为整数的变量中完成,而不需要特别使用expr或let来完成。

n=6/3
echo "n = $n"       # n = 6/3declare -i n
n=6/3
echo "n = $n"       # n = 2

-a 数组

declare -a indices

变量indices会被当作数组.

-f 函数

declare -f

在脚本中没有带任何参数的declare -f 会列出所有在此脚本前面已定义的函数出来。

declare -f function_name

declare -f function_name则只会列出指定的函数.

-x export

declare -x var3

这样将声明一个变量作为脚本的环境变量而被导出。

-x var=$value

declare -x var3=373

declare命令允许在声明变量类型的时候同时给变量赋值。

declare声明变量类型实例

#!/bin/bashfunc1 ()
{
echo This is a function.
}declare -f        # 列出上面的函数.echodeclare -i var1   # var1是一个整数.
var1=2367
echo "var1 declared as $var1"
var1=var1+1       # 整数声明后,不需要使用'let'.
echo "var1 incremented by 1 is $var1."
# 试图将已声明为整数的变量的值更改为浮点值.
echo "Attempting to change var1 to floating point value, 2367.1."
var1=2367.1       # 引起一个错误信息,此变量的值保持原样.
echo "var1 is still $var1"echodeclare -r var2=13.36         # 'declare'允许设置变量的属性,#+ 同时也给变量赋值.
echo "var2 declared as $var2" # 试图更改只读变量的值.
var2=13.37                    # 引起错误,并且从脚本退出.echo "var2 is still $var2"    # 这行不会被执行.exit 0                        # 脚本不会从这儿退出.

linux shell declare命令 声明shell变量 显示shell函数相关推荐

  1. linux如何用命令寻找环境变量?

    linux如何用命令寻找环境变量? 要在Linux中查找环境变量,您可以使用以下命令: printenv:此命令将列出所有已设置的环境变量. env:此命令也将列出所有已设置的环境变量. echo $ ...

  2. linux nc反弹命令,详解NC反弹shell的几种方法

    假如ubuntu.centos为目标服务器系统 kali为攻击者的系统,ip为:192.168.0.4,开放7777端口且没被占用 最终是将ubuntu.centos的shell反弹到kali上 正向 ...

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

  4. linux脚本求命令行上整数和,shell脚本--cut命令与awk简单使用

    cut:对内容进行列切割 -d 后面的是分割符,表示用什么符号来分割符来分割列,分隔符使用引号括起来: -f后面跟着要选择的字段列,从1开始,表示第一列,如果要多列,可以用逗号分隔 : -c参数后面跟 ...

  5. linux echo输出结果赋值给变量,shell变量n位补零

    name=`echo $1|awk '{printf("%04d\n",$0)}'`    将 $1 进行4位数补零,后传递字符串给 name. 将下面代码,命名为 playVid ...

  6. linux命令取数字前两位,linux中head命令使用详解(显示开头数量的文字块)

    head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的开头至标准输出中,而 tail 想当然尔就是看档案的结尾. 1.命令格式: hea ...

  7. Linux中vi命令编辑文件时显示行号

    vi file_name 直接进去时没有行号显示的,这时可以进入末行模式(文件末尾出现冒号)时输入 : set nu 效果如图: 这种做法有个弊端,在退出编辑后,再次进入编辑时行号就不再显示了. 配置 ...

  8. linux中使用命令启动tomcat后显示tomcat started,实际却没启动的问题

    linux中启动tomcat,显示tomcat started.实际却没启动的问题 问题背景: 在linux复制tomcat,将tomcat中webapps目录下自己原来发布过的项目直接删除后启动to ...

  9. shell脚本declare命令用法(声明变量的属性和类型)

    文章目录 declare命令 declare声明变量与var=xxx方式有何区别? declare声明变量应用场景 declare命令 declare命令用于声明变量的属性和类型.语法: declar ...

最新文章

  1. task一个任务结束后执行另一个操作
  2. 电脑开机一会就蓝屏怎么回事_常见的电脑蓝屏是怎么回事?学会三种解决方法,远离电脑维修店...
  3. redis学习(五) redis实现购物车
  4. Linux 命令find、grep
  5. selenium-05-常见问题
  6. 基于海量日志和时序数据的质量建设最佳实践
  7. 4、Kafka常见问题
  8. 初学总结--------Java修饰符与修饰关键字(且叫修饰关键字)
  9. 信息学奥赛一本通(1009:带余除法)
  10. sql case when then else多个条件_SQL-多表查询
  11. jq的each方法之退出循环与继续循环
  12. 每日一课(10/75)CPU资源和存储器 之 专用寄存器的作用
  13. 用户体验五要素_用户体验五要素—结构性思考
  14. 新入职朋友说话时,一定不要用“你们”,用“咱们”
  15. 微软承认iPad牛逼,正计划为其定做Office?
  16. 计算机solidwork实训报告,solid works学习心得范文
  17. An Analysis of Scale Invariance in Object Detection – SNIP
  18. super的使用方法(Java)
  19. VMware Fusion安装CentOS 7教程
  20. Unable to find the VMX binary ‘D:\新建文件夹1\vmware-vmx.exe‘.

热门文章

  1. 我的第一个SharePoint2013 App
  2. WindowManager.LayoutParams类22
  3. 编写书籍《C语言嵌入式系统编程修炼之道》序言
  4. java 鼠标 停止工作原理,java系统级的键盘和鼠标状态
  5. 使用soapUI代替WSDL2JAVA生成cxf HTTPS 客户端调用代码
  6. EF架构~为分组添加位运算聚合方法
  7. 如何在AxureRP7中使用FontAwesome字体
  8. 2010年8月blog汇总:敏捷个人和OpenExpressApp之建模支持
  9. linux 系统监控和进程管理
  10. TxQueryRunner-JDBC小工具