Linux Bash之变量和数学运算讲解
程序员文章站
2022-04-12 21:48:44
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