首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >前端运维之Shell运算符

前端运维之Shell运算符

作者头像
19组清风
发布2021-11-15 14:53:51
发布2021-11-15 14:53:51
23800
代码可运行
举报
文章被收录于专栏:Web Front EndWeb Front End
运行总次数:0
代码可运行

Shell运算符

  • shell中的变量默认是字符串类型的,且是弱类型的。

declare

declare命令

  • declare用来声明变量类型。
  • declare [+/-] [选项] 变量名

选项

含义

-

给变量设定类型属性

+

取消变量的类型声明

-a

表示将变量声明为数组类型

-l

表示将变量声明为整数类型

-i

表示将变量声明为整数类型

-x

表示将变量声明为环境变量(相当于export [变量名]=[变量值])

-r

表示将变量声明为只读类型

-p

显示变量的类型标示

Demo
代码语言:javascript
代码运行次数:0
运行
复制
a=1
b=2
c=$a+$b
echo $c # 1+2

declare -i c=$a+$b # 表示声明整形变量
echo $c # 3 

declare +i c # 取消c变量的类型声明
c=$a+$b
echo $c # 1+2

declare -i $d=1
declare -p $c # declare -i $c="3"

# 声明环境变量
declare -x $e=6

set | grep e=10 # e=10
env | grep e=10 # e=10

declare -r x=10
x=11 # bash:x is readonly
复制代码

数组

  • 通过declare -a [变量名]可以声明一个数组类型的变量。

delcare -a names # 声明一个数组变量names

代码语言:javascript
代码运行次数:0
运行
复制
names[0]=wang
names[1]=haoyu
复制代码

当调用echo [数组类型]的时候默认只打印数组中的第一个:

需要额外注意的时候,调用数组类型的时候需要使用${数组}进行访问。因为数组类型表示是一个可计算的整体。

代码语言:javascript
代码运行次数:0
运行
复制
echo ${names} # wang

echo ${names[1]} # haoyu
复制代码

如果使用echo names[1]代表的意思就不同了,就是打印names这个变量然后再拼接上[1]字符串,就是haoyu[1]。需要使用

  • 通过*通配符打印数组中所有的内容。

echo ${names[*]} # wang haoyu

环境变量

通过declare -x xx=6可以声明一个环境变量xx的值为6

它与export xx=6是相同的效果都是声明环境变量语句,export内部实际调用的就是declare -x语句,语法糖而已。

只读属性

通过declare -r [变量]可以声明一个只读的变量。

查询变量属性

通过declare -p [变量]可以查看变量的类型属性。

变量数值运算的方法

  • 只要通过declare声明的变量指定类型,就可以进行数值的运算了。

expr以及let

通过exprlet关键字可以进行变量类型的计算

代码语言:javascript
代码运行次数:0
运行
复制
num1=1
num2=2
sum=$(expr $num1 + $num2) # 注意+运算符左右两边必须有空格
echo $sum # 3
复制代码
代码语言:javascript
代码运行次数:0
运行
复制
sum2=$(($num1 + $num2))
echo sum2 # 3 和上边是等价的
复制代码
代码语言:javascript
代码运行次数:0
运行
复制
sum3=$[$num1 + $num2]
echo sum3 # 3 和上边也是等价的
复制代码
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021年08月08日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Shell运算符
    • declare
      • declare命令
      • 数组
      • 环境变量
      • 只读属性
      • 查询变量属性
    • 变量数值运算的方法
      • expr以及let
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档