iis服务器助手广告广告
返回顶部
首页 > 资讯 > 操作系统 >Linux中declare命令怎么用
  • 559
分享到

Linux中declare命令怎么用

2023-06-28 07:06:03 559人浏览 安东尼
摘要

小编给大家分享一下linux中declare命令怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Linux常用命令 declare命令用于声明 shell 变

小编给大家分享一下linux中declare命令怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

Linux常用命令 declare命令用于声明 shell 变量,declare为shell指令,在第一种语法中可用来声明变量并设置变量的属性([rix]即为变量的属性),在第二种语法中可用来显示shell函数。

Linux中declare命令怎么用

declare

声明变量,设置或显示变量的值和属性。

语法

 declare [-aAfFgilnrtux] [-p] [name[=value] ...]

主要用途

  • 显示包含指定属性的全部变量和值

  • 显示包含指定属性的一到多个变量和值

  • 显示一到多个变量的属性和值

  • 显示所有变量的属性和值并显示函数的定义

  • 显示所有变量的属性和值

  • 显示所有全局变量的属性和值

  • 显示全部函数名和函数定义

  • 只显示全部函数名

  • 显示一到多个函数名和函数定义

  • 只显示一到多个函数名

  • 声明全局变量(可选:赋值)

  • 声明变量(可选:赋值、属性)

  • 增加、删除变量的属性(可选:赋值)

选项

 -f 将操作或显示限制为函数名及函数定义。 -F 只显示函数名(调试时附加行号和源文件)。 -g 在shell函数中使用时创建全局变量;其他情况下忽略。 -p 显示每个名称的属性和值。  *设置属性的选项: -a 创建数组(如果支持)。 -A 创建关联数组(如果支持)。 -i 增加整型属性。 +i 删除整型属性。 -l 增加小写属性,变量的值将转换为小写。 +l 删除小写属性。 -n 增加引用属性(如果该选项存在)。 +n 删除引用属性(如果该选项存在)。 -r 增加只读属性。 -t 增加追踪属性。 +t 删除追踪属性。 -u 增加大写属性,变量的值将转换为大写。 +u 删除大写属性。 -x 增加导出属性。 +x 删除导出属性。

参数

 name(可选):变量名或函数名。 value(可选):变量的值。

返回值

declare 返回true除非你提供了非法选项或赋值错误。具体导致异常的情况请查看讨论章节的关于异常情况

例子

 # 声明变量,当然也欢迎您在这个网站(感谢本项目发起人 @jaywcjlove)查询linux命令。 declare reference_WEBsite='https://wanGChujiang.com/linux-command/'  # 显示所有包含整型属性的变量和值。 declare -i # 定义变量b并赋值为3,具有整型属性。 declare -i b=5 # 显示属性,返回 declare -i b="5"。 declare -p b # 删除整型属性。 declare +i b # 显示属性,返回 declare -- b="5"。 declare -p b # 根据变量属性强制转换值的英文大小写。 declare -u uc_var='abc' declare -l lc_var='ABC' # 显示'ABC abc'; echo "${uc_var} ${lc_var}"
 # 定义函数内的全局变量 function test(){   declare -g a=3   # 或者   local -g b=3   # 或者   c=3   # 让我们查看它们的属性。   declare -p a b c } # 执行函数。 test # 返回结果。 # declare -- a="3" # declare -- b="3" # declare -- c="3"  # 定义函数外的全局变量 declare a=3 b=3 declare –p a b # 返回结果如下。 # declare -- a="3" # declare -- b="3"  # 定义局部变量 function test2(){   local -i a=3   declare -i b=3 } test2 # 没有该变量(已经被销毁了) echo "${a} ${b}" # 因此,我们日常脚本中最常见的类似于'a=3'实际上是声明并赋值了一个全局变量。 # 在接下来的 **讨论** 环节会延伸讨论全局和局部变量问题。
 # 注意,不能使用 `+a` 或 `+A` 取消数组,也不能使用 `+r` 取消只读属性。  # 定义只读数组,设置属性的同时定义赋值。 declare -ar season=('spring' 'Summer' 'Autumn' 'Winter') # 或者这样。 season=('Spring' 'Summer' 'Autumn' 'Winter') declare -ar season # 显示所有数组。 declare -a # 定义关联数组。  declare -A fruits=(['apple']='red' ['banana']='yellow') # 显示所有关联数组。 declare -A
 # 显示所有变量的属性和值并显示函数的定义,输出很长。 declare # 显示所有变量的属性和值。 declare -p # 显示所有全局变量的属性和值。 declare -g
 # 显示全部函数名和函数定义。 declare -f # 只显示全部函数名。 declare -F  # 定义两个函数。 function func_a(){ echo $(date +"%F %T"); } function func_b(){ cd /; ls -lh --sort=time; } # 显示一到多个函数名和函数定义。 declare -f func_a func_b # 只显示一到多个函数名,验证某个名称是否已经定义为函数时有用。 declare -F func_a func_b # 最好不要让函数名和变量名相同。

讨论

  1. 全局和局部变量

    正如上面例子指出的情况,我们在日常编写程序的时候需要了解这些概念,在这里 做个简要地介绍,当然你也可以很方便的搜索到相关内容。

    建议函数内使用local命令,函数外使用declare命令。

    不要在脚本中定义过多的全局变量,那样可能会被其他函数调用造成意料之外的后果,并且也不方便检查出来。

    更不用说缺乏必要的注释了 —— ZhuangZhu-74

    相关资料:

    • Google提供的编码规范

    • 全局变量的讨论

    • 全局变量:在整个脚本执行期间,只要没有被删除就一直存在

    • 局部变量:在函数内定义,函数执行后就被删除。

  2. 关于declare typeset export local readonly命令

    为什么declare能做到的事,还需要定义其他这些命令呢?

    因为这样语句含义会更加明确,例如:

    typeset和declare命令一样。

    • 设置导出属性的变量时,export var和declare -x var。

    • 在函数内声明变量时,使用local。

    • 声明只读变量,使用readonly。

  3. 关于异常情况

    有多种原因导致declare失败,关于这些情况可以参考bash在线文档declare部分(最新版),或执行 info bash 查看declare部分最后一大串an attempt is开头的句子。

以上是“Linux中declare命令怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网操作系统频道!

--结束END--

本文标题: Linux中declare命令怎么用

本文链接: https://www.lsjlt.com/news/317795.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Linux中declare命令怎么用
    小编给大家分享一下Linux中declare命令怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Linux常用命令 declare命令用于声明 shell 变...
    99+
    2023-06-28
  • Linux的declare命令怎么使用
    这篇文章主要介绍“Linux的declare命令怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Linux的declare命令怎么使用”文章能帮助大家解决问题。Linux常用命令declare...
    99+
    2023-06-28
  • shell中的declare命令有什么作用
    在shell中,declare命令用于声明变量的属性和类型。它具有以下作用:1. 声明变量的类型:可以使用declare命令来声明一...
    99+
    2023-09-12
    shell
  • php中如何如何使用declare命令
    小编给大家分享一下php中如何如何使用declare命令,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!定义php中的declare结构用来设定一段代码的执行指令d...
    99+
    2023-06-15
  • SQL命令DECLARE的作用是什么
    SQL命令DECLARE的作用是声明一个游标变量或变量。游标变量用于存储查询结果集,并且可以通过游标的操作来访问和处理结果集中的数据...
    99+
    2023-09-29
    SQL
  • Shell之declare命令如何使用
    在Shell中,declare命令用于声明变量的属性和类型。declare命令的语法如下:```declare [选项] 变量名[=...
    99+
    2023-09-29
    Shell
  • Linux命令中的rpm命令怎么用
    这篇文章的内容主要围绕Linux命令中的rpm命令怎么用进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!在Linux中,RPM是进行软件得安装、卸载、...
    99+
    2023-06-28
  • php的declare命令及用法详解
    定义 php中的declare结构用来设定一段代码的执行指令 declare用于执行3个指令:ticks,encoding,strict_types 作用域 declare结构用于全...
    99+
    2024-04-02
  • Linux中chown命令怎么用
    这篇文章给大家分享的是有关Linux中chown命令怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。系统管理员经常使用chown命令,在将文件拷贝到另一个用户的名录下之后,让用户拥有使用该文件的权限。  1....
    99+
    2023-06-13
  • linux中怎么用History命令
    这篇文章将为大家详细讲解有关linux中怎么用History命令,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1、命令历史记录中加时间默认情况下如下图所示,没有命令执行时间,不利于审计分析。通过设置exp...
    99+
    2023-06-15
  • Linux中type命令怎么用
    这篇文章将为大家详细讲解有关Linux中type命令怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。type 命令用于查找 Linux 命令的信息。顾名思义,你可以使用 type  命令轻松...
    99+
    2023-06-16
  • Linux中env命令怎么用
    小编给大家分享一下Linux中env命令怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Linux系统里的env命令可以显示当前用户的环境变量,还可以用来在指...
    99+
    2023-06-16
  • Linux中scp命令怎么用
    这篇文章主要介绍Linux中scp命令怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Linux scp命令用于Linux之间复制文件和目录,具体如何使用这里好好介绍一下,从本地复制到远程、从远程复制到本地是两种...
    99+
    2023-06-16
  • Linux中mv命令怎么用
    这篇文章将为大家详细讲解有关Linux中mv命令怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。mv命令可以对文件和目录进行重命名,或者将一个文件或目录移动到另一个目录里面去。1.移动文件移动文件时需...
    99+
    2023-06-27
  • Linux中truncate命令怎么用
    这篇文章给大家分享的是有关Linux中truncate命令怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。truncate命令缩减或扩充指定文件的大小为指定值。参数所指定的文件如果不存在,那么该命令会创建这个...
    99+
    2023-06-27
  • Linux中nmcli命令怎么用
    这篇文章主要为大家展示了“Linux中nmcli命令怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux中nmcli命令怎么用”这篇文章吧。nmcli命令是redhat7或者cento...
    99+
    2023-06-27
  • Linux中ifcfg命令怎么用
    这篇文章将为大家详细讲解有关Linux中ifcfg命令怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Linux常用命令ifcfg命令是一个Bash脚本程序,用来设置linux中的网络接口参数。语法格...
    99+
    2023-06-28
  • Linux中ftpcount命令怎么用
    这篇文章主要介绍Linux中ftpcount命令怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Linux常用命令ftpcount命令用于显示目前以FTP登入的用户人数,执行这项指令可得知目前用FTP登入系统的人...
    99+
    2023-06-28
  • Linux中ypdomainname命令怎么用
    这篇文章主要为大家展示了“Linux中ypdomainname命令怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux中ypdomainname命令怎么用”这篇文章吧。Linux常用命...
    99+
    2023-06-28
  • Linux中xset命令怎么用
    这篇文章主要介绍Linux中xset命令怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Linux常用命令xset命令 是设置X-Window系统中的用户爱好的实用工具。xset设置X-Window系统中的用户爱...
    99+
    2023-06-28
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作