3、shell运算方法


shell运算方法

shell运算方法 1

1. 所有变量都会保存在内存中,重启失效,除非写在配置文件中 3

2. read 从标准输入读取内容 3

3. declare声明变量类型 4

4. shell运算式 6

5. shell运算符 9

6. 练习做一个计算器 9

7. 变量的测试与内容置换 10

所有变量都会保存在内存中,重启失效,除非写在配置文件中

read 从标准输入读取内容

位置参数变量更适合作者输出,read更适合用户输入

read 【选项】 信息

选项:

-t 等待时间(秒)

- p 打印提示

-n 限制输入字符数量为n

当达到n位字符自动执行

-s 隐藏输入的字符

read可以实现多个参数导入

3、shell运算方法

3、shell运算方法

如果不指定变量名,会把输入保存到默认变量REPLY

declare声明变量类型

declare [+/-] [选项] 变量名

选项

- :给变量设定类型属性

-a 将变量声明为数组型

declare -a name[0]="sc"
name[0]="shenchao" (可以省略declare -a)

-i 将变量声明为整数型

delcare -i c=$a+$b

3、shell运算方法

-r 将变量修改为只读变量(之后无法修改删除,甚至取消属性,重启失效,不推荐使用)

-x 将变量声明为环境变量

declare -x TEST=123 (作用和export TEST=123一样)

-p 显式指定变量被声明的类型

declare -p 查询所有变量(类似于set)

3、shell运算方法

declare -p 变量名 查询此变量类型

3、shell运算方法

+:取消变量的类型属性

declare +a name[0]="sc"

declare -p "shenchao" 查询此变量类型

shell运算式

declare方法

a=11 b=22 decalre -i c= $a+$b echo $c

expr

直接计算

expr 1 + 3 (切记有空格)

expr 1 - 3

expr 1 \* 3

expr 1 / 3

expr 1 % 3

变量计算

a=11 b=22 d=expr $a + $b echo $d

expr 1 + 3 expr 1 - 3 expr 1 \* 3

expr的特殊用法

3、shell运算方法

由此可知expr可以用来判断一个数是否为整数,非整数就会报错

bc 计算器(默认输出为整数)

交互式计算方法

bc,然后1+2什么的

3、shell运算方法

非交互式计算方法

echo "3+5" | bc

3、shell运算方法

保留小数点输出方式

3、shell运算方法

3、shell运算方法

let

主要用于while循环中,变量自增赋值

a=11 b=22 let e=$a+$b echo $e (格式和declare相似)

循环:a=1 ; let a++ ; echo $a

$((运算式))

直接计算

$((1+2))

$((1*2))

$((1/2))

$((1%2))

$((10**2)) 平方计算10的2次方

$((10**3))10的三次方

a=11 b=22 ff=$(( a+b )) echo $ff

推荐用这个方式

echo $[10+8]不建议

3、shell运算方法

awk也可以做计算,使用printf格式化输出

shell运算符

- + 正负

~ 按位取反或补码

* / % 乘 除 取模

+ -加减

& | >= <= 与 或 非 大于等于 小于等于

练习做一个计算器

3、shell运算方法

3、shell运算方法

变量的测试与内容置换

变量置换方式:x=${m-new} 若m未设置值,输出为new,若m设定了值,则显示m所设定的值(包括空值)

3、shell运算方法

也可以用set -u检测

发布者:LJH,转发请注明出处:https://www.ljh.cool/35182.html

(0)
上一篇 2023年4月5日 下午10:37
下一篇 2023年4月5日 下午10:44

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注