shell中的declare命令

declare命令有如下选项:

-a 声明一个数组

-i 声明一个整型

-f 打印所有函数定义

-F 仅打印函数名字

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

-x 和export的作用类似

 

1) 这里需要注意的是,当使用-i选项来做算数运算的时候,等号右边的变量前面没有$符,并且等号右边的变量可以不用declare -i进行声明。shell自动把赋值给declare -i声明的表达式作为算数表达式求值。同时,为了避免一些特殊符号(比如*),最好将表达式放在单引号里面:

a=2
b=3
declare -i result='a * b'

2)与declare -i类似的操作是let,语法格式如下:

let var=expression

a=2
b=3
let result='a * b'

同样,等号右边的变量前面没有$符,并且等号右边的变量可以不用declare -i进行声明。shell自动把赋值给declare -i声明的表达式作为算数表达式求值。同时,为了避免一些特殊符号(比如*),最好将表达式放在单引号里面

3)将一个数组声明为-r,那么整个数组,以及数组中的每一个元素都是readonly的。

 

posted @   chaoguo1234  阅读(3327)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示