欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Linux Bash之变量和数学运算讲解

程序员文章站 2022-07-05 23:08:12
shell基本概念 shell既是一种解释型编程语言,也是一个这种编程语言的解释器的名字 shell是解释型语言,就是解释器会一条一条的翻译每一条语句并执行,对比之下,C语言是编...

shell基本概念

shell既是一种解释型编程语言,也是一个这种编程语言的解释器的名字 shell是解释型语言,就是解释器会一条一条的翻译每一条语句并执行,对比之下,C语言是编译型语言,编译器把整个工程编译成可执行文件才能执行 在没有续行符(\回车)的情况下,shell脚本的一条语句以”回车”为结束 任何一个shell脚本程序都必须在开头用#!标识使用的shell程序,如果用的是bash,那就是#!/bin/sh shell脚本一行中的#之后的部分为注释 刚刚写完的一个shell script程序通常是没有执行权限的,需要手动$chmod +x filename.sh来添加可执行权限

shell语言本身并不包含linux内置的命令,那些命令本质上都是一个可以在shell环境中执行的程序,只是在shell环境中执行shell脚本可以调用这些程序而已。

$ 表示取结果。和变量名一起使用表示取变量的值。表示取结果。和变量名一起使用表示取变量的值。

expr用于整数值计算,注意用于计算的每一项需要用空格隔开。

let表示数学运算。

(())与let类似。

$[]中将括号内的表达式作为数学运算先计算出来的结果在输出。

#!/bin/sh
sum=20
echo "hello ,we have ${sum}apples"
echo "Hello , $USER,\nBinary,num is $sum"
#!/bin/sh
weight=1
test02=2
seconds=0
echo -n "Enter a number of seconds>"
read seconds
hours=$((seconds/3600))
seconds=$((seconds%3600))
minutes=$((seconds/60))
seconds=$((seconds%60))

weight=`expr $weight + 1`
let "test02+=22"
echo "$hours hour(s) $minutes minute(s) and $seconds second(s)"
echo $weight
echo $test02

执行脚本的命令是sh file.sh或者bash file.sh。

bc和awk用于运算

浮点数运算可以用bc或者awk等程序。

bc是一个交互计算的shell。

# bc
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'. 
1+1
2
2+2
4
3.6*3.6
12.9
3.6^2
12.9

awk计算:

#!/bin/sh
var=1
var=`echo "$var 5"|awk '{printf("%g",$1+$2)}'`
echo $var