云计算shell学习之—declare指定变量类型—数组变量—算术运算

写在前面的话:
写博客不是一时兴起,思考了好久,终于动手去做了,自己经常也写一些笔记,我就在想,为什么不把这些笔记写到网上呢,这样就方便了分享和交流,现在在教shell编程,云计算基础,网络基础,思科路由与交换,windows server2008,云平台的搭建与管理,自己也在自学python,openstack,因此,以后会有越来越多的文章,但大多数都是围绕网络—云计算—python这三个 细分专业进行。当然云计算中也有很多分支,其中的基础部分和各种服务搭建,数据库,集群,云部署,大数据一些相关的文章也会写出来。好了,最后一句话 送给 自己:

  • 你可以不完美,但是不可以不努力。
开始正题:declare 命令指定变量的类型
  • 首先这是一个bash的内部命令
  • 其次可以用来声明和修改变量的属性
  • 补充个知识点,它与typeset命令的用法和用途是一样一样的

一下在掌握两个命令,赚到了 , 哈哈!

第一种用法:
使用-r 选项,将变量定义为只读变量,与readonly一样

[root@xieqc shell]# declare  -r  var=1
[1]+  完成                  sleep 10
[root@xieqc shell]# var=2
bash: var: 只读变量
[root@xieqc shell]#  unset  var
bash: unset: var: 无法反设定: 只读 variable
//可以看到变成了只读变量,至于怎么变回来......自己研究研究吧
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

第二种用法:
使用 -i 选项,将变量定义为整数型变量
什么意思呢,就是说赋予这种类型的变量只能是整数,否则都会被转成整数值
看个栗子:

[root@xieqc shell]# declare  -i  number
[root@xieqc shell]# number=1
[root@xieqc shell]# echo  "this  number  is  $number"
this  number  is  1
[root@xieqc shell]# number=one
[root@xieqc shell]# echo  "this  number  is  $number"
this  number  is  0
[root@xieqc shell]# number=9/2
[root@xieqc shell]# echo  "this  number  is  $number"
this  number  is  4
//很清楚了哈,非数字类型的,变成了0,为什么?因为不是数字,相当于木有赋值
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

第三种用法:
使用-p选项 ,显示指定变量的属性和值
不确定一个变量的是否被定义的时候可以用这个 选型。

数组变量
  • 一个变量包含多个值,就是数组变量
  • 特别注意的是,数组变量是从0开始计数的
    直接上栗子吧:
[root@xieqc shell]# linux=('debian' 'Redhat' 'Sure' 'Fedora')
//赋值可以这个样子......
[root@xieqc shell]# echo  ${linux[1]}
Redhat
[root@xieqc shell]# echo  ${linux[0]}
debian
//调用的时候,是这个样子,中括号里面写数字,正整数哈,从0开始计数。
[root@xieqc shell]# echo  ${linux[@]}
debian Redhat Sure Fedora
//显示所有内容,@和* 都可以

[root@xieqc shell]# linux[4]=CentOS

[root@xieqc shell]# echo ${linux[@]}
debian Redhat Sure Fedora CentOS
//最最最关键的是,还可以继续往下赋值,添加数组变量的值!

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

怎么取消呢???

  • unset 变量名
  • 直接干掉!不解释!

算术运算

  • 没什么解释的,就是算个数,计算器 一样,来看一下怎么用:
    首先来看一下都有哪些运算符号:
  • 求幂运算符 **
[root@xieqc shell]# let  var1=5**2
[root@xieqc shell]# echo  $var1
25
  • 1
  • 2
  • 3
  • 求余运算符 %
[root@xieqc shell]# let  var1=9%2
[root@xieqc shell]# echo  $var1
1
  • 1
  • 2
  • 3
  • 相加赋值运算符+=
[root@xieqc shell]# let  var1+=10
[root@xieqc shell]# echo  $var1
11
  • 1
  • 2
  • 3
  • 相乘赋值运算符:
[root@xieqc shell]# let  var1*=5
[root@xieqc shell]# echo  $var1
55
  • 1
  • 2
  • 3

上面的栗子很清楚了。

  • 逻辑与 && 和逻辑或 || 运算符:
[root@xieqc shell]# echo  $(( 2 && 1 ))
1
[root@xieqc shell]# echo  $(( 2 && 0 ))
0
[root@xieqc shell]# echo  $(( 2 || 1 ))
1
[root@xieqc shell]# echo  $(( 2 || 0 ))
1
[root@xieqc shell]# echo  $(( 0 || 0 ))
0
//解释一下,估计跟我一样,一开始都看蒙了
//&&  和的关系,只要一方为0,输出结果为即为0,毕竟0和谁在一起都是0
// ||    或的关系,只有两个都为0,结果才是0,没有谁离不开谁,或就是最好的解释了哈
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
好了,这部分内容就到这里了,未完待续…
                                </div>
            <link href="https://csdnimg.cn/release/phoenix/mdeditor/markdown_views-b6c3c6d139.css" rel="stylesheet">
                                            <div class="more-toolbox">
            <div class="left-toolbox">
                <ul class="toolbox-list">
                    
                    <li class="tool-item tool-active is-like "><a href="javascript:;"><svg class="icon" aria-hidden="true">
                        <use xlink:href="#csdnc-thumbsup"></use>
                    </svg><span class="name">点赞</span>
                    <span class="count">1</span>
                    </a></li>
                    <li class="tool-item tool-active is-collection "><a href="javascript:;" data-report-click="{&quot;mod&quot;:&quot;popu_824&quot;}"><svg class="icon" aria-hidden="true">
                        <use xlink:href="#icon-csdnc-Collection-G"></use>
                    </svg><span class="name">收藏</span></a></li>
                    <li class="tool-item tool-active is-share"><a href="javascript:;" data-report-click="{&quot;mod&quot;:&quot;1582594662_002&quot;}"><svg class="icon" aria-hidden="true">
                        <use xlink:href="#icon-csdnc-fenxiang"></use>
                    </svg>分享</a></li>
                    <!--打赏开始-->
                                            <!--打赏结束-->
                                            <li class="tool-item tool-more">
                        <a>
                        <svg t="1575545411852" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5717" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M179.176 499.222m-113.245 0a113.245 113.245 0 1 0 226.49 0 113.245 113.245 0 1 0-226.49 0Z" p-id="5718"></path><path d="M509.684 499.222m-113.245 0a113.245 113.245 0 1 0 226.49 0 113.245 113.245 0 1 0-226.49 0Z" p-id="5719"></path><path d="M846.175 499.222m-113.245 0a113.245 113.245 0 1 0 226.49 0 113.245 113.245 0 1 0-226.49 0Z" p-id="5720"></path></svg>
                        </a>
                        <ul class="more-box">
                            <li class="item"><a class="article-report">文章举报</a></li>
                        </ul>
                    </li>
                                        </ul>
            </div>
                        </div>
        <div class="person-messagebox">
            <div class="left-message"><a href="https://blog.csdn.net/xie_qi_chao">
                <img src="https://profile.csdnimg.cn/B/F/6/3_xie_qi_chao" class="avatar_pic" username="xie_qi_chao">
                                        <img src="https://g.csdnimg.cn/static/user-reg-year/1x/2.png" class="user-years">
                                </a></div>
            <div class="middle-message">
                                    <div class="title"><span class="tit"><a href="https://blog.csdn.net/xie_qi_chao" data-report-click="{&quot;mod&quot;:&quot;popu_379&quot;}" target="_blank">解启超</a></span>
                                        </div>
                <div class="text"><span>发布了357 篇原创文章</span> · <span>获赞 54</span> · <span>访问量 3万+</span></div>
            </div>
                            <div class="right-message">
                                        <a href="https://im.csdn.net/im/main.html?userName=xie_qi_chao" target="_blank" class="btn btn-sm btn-red-hollow bt-button personal-letter">私信
                    </a>
                                                        <a class="btn btn-sm attented bt-button personal-watch" data-report-click="{&quot;mod&quot;:&quot;popu_379&quot;}">已关注</a>
                                </div>
                        </div>
                </div>
</article>
发布了323 篇原创文章 · 获赞 301 · 访问量 9600
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 游动-白 设计师: 上身试试

分享到微信朋友圈

×

扫一扫,手机浏览