diff --git a/command/declare.md b/command/declare.md index d88fcd181f..c8b80e4bde 100644 --- a/command/declare.md +++ b/command/declare.md @@ -3,99 +3,71 @@ declare 声明变量,设置或显示变量的值和属性。 -### 概要 +## 语法 ```shell declare [-aAfFgilnrtux] [-p] [name[=value] ...] ``` -### 主要用途 +## 主要用途 - 显示包含指定属性的全部变量和值 - - 显示包含指定属性的一到多个变量和值 - - 显示一到多个变量的属性和值 - - 显示所有变量的属性和值并显示函数的定义 - - 显示所有变量的属性和值 - - 显示所有全局变量的属性和值 - 显示全部函数名和函数定义 - - 只显示全部函数名 - - 显示一到多个函数名和函数定义 - - 只显示一到多个函数名 - 声明全局变量(可选:赋值) - - 声明变量(可选:赋值、属性) - - 增加、删除变量的属性(可选:赋值) -### 选项 +## 选项 ```shell -f 将操作或显示限制为函数名及函数定义。 - -F 只显示函数名(调试时附加行号和源文件)。 - -g 在shell函数中使用时创建全局变量;其他情况下忽略。 - -p 显示每个名称的属性和值。 - *设置属性的选项: - -a 创建数组(如果支持)。 - -A 创建关联数组(如果支持)。 - -i 增加整型属性。 - +i 删除整型属性。 - -l 增加小写属性,变量的值将转换为小写。 - +l 删除小写属性。 - -n 增加引用属性(如果该选项存在)。 - +n 删除引用属性。 - -r 增加只读属性。 - -t 增加追踪属性。 - +t 删除追踪属性。 - -u 增加大写属性,变量的值将转换为大写。 - +u 删除大写属性。 - -x 增加导出属性。 - +x 删除导出属性。 ``` -#### 参数 +## 参数 +```shell name(可选):变量名或函数名。 - value(可选):变量的值。 +``` -#### 返回值 +## 返回值 -declare返回true除非你提供了非法选项或赋值错误。具体导致异常的情况请查看**讨论**章节的**关于异常情况**。 +declare 返回true除非你提供了非法选项或赋值错误。具体导致异常的情况请查看**讨论**章节的**关于异常情况**。 -### 例子 +## 例子 ```shell # 声明变量,当然也欢迎您在这个网站(感谢本项目发起人 @jaywcjlove)查询linux命令。 @@ -212,7 +184,7 @@ declare -F func_a func_b ``` -### 讨论 +## 讨论 1. 全局和局部变量 @@ -231,7 +203,6 @@ declare -F func_a func_b 相关资料: - [google提供的编码规范](https://github.com/google/styleguide) - - [全局变量的讨论](https://unix.stackexchange.com/questions/381761/what-do-declare-name-and-declare-g-do) 2. 关于`declare` `typeset` `export` `local` `readonly`命令