shell变量

1.计算10的阶乘

vim jiecheng.sh


#!/bin/bash
res=1
for i in $@
do
  res=$((res*i))
done
  echo $res

运行脚本计算10的阶乘

source jiecheng.sh {1..10}


2.12,-13的原码,补码和反码

二进制的最高位为符号位。0为正数,1为负数

正数的原码,补码,反码是一致的。它的补码和反码就是原码

负数的原码,反码,补码不一致。

        原码-->反码:除了最高位的符号位,其他按位取反

        补码:在反码的基础上+1

12:二进制 --- 0000 1100

           原码 --- 0000 1100

           反码 --- 0000 1100

           补码 --- 0000 1100

-13:二进制 --- 0000 1101

            原码 --- 1000 1101

            反码 --- 1111 0010

            补码 --- 1111 0011

3.计算 1+2的结果,并将值赋给变量data, 然后计算 data+10的值,赋值给data2(要求:分别使用(()), let, expr,bc和 $[]实现)

(()):用于整数运算,在(())里面可以省略变量的$符号

let:用于整数运算,可以执行多个表达式,变量的$符号不可省略

expr:不止可以用于整数运算,使用expr时,运算符及用于计算的数字左右都至少有一个空格,否则报错;使用乘号,必须使用反斜线屏蔽其特定含义;使用expr做 计算,将一个未知的变量和一个已知的整数相加,看返回码是否为 0,如果为0就认为做加法的变量为整数,否则就不是整数。

bc:可以计算小数,相当于Linux中的计算器

$[]:用于整数运算

((data=1+2));echo $data    ---- 将1+2的结果赋值给data
3

((data2=data+10));echo $data2 ---使用(())
13


let data2=$data+10;echo $data2 --- 使用let
13


data2=`expr $data + 10` ;echo $data2 --- 使用expr
13


echo "`echo $data`+10" | bc --- 使用bc
13


data2=$[data+10];echo $data2 --- 使用$[]
13

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值