shell脚本知识点回顾1
时间:2010-09-24 来源:csbird
1、bash不支持浮点运算,可用其自带的bc计算器来完成浮点计算。
#!/bin/bash
var1=`echo " scale=4;10.2/5" | bc`。
变量var的值为2.0400。这里的scale用来设置小数位数。
可以在计算的表达式里引用shell变量,如
var2=`echo " scal=4;$var1*2" | bc`
变量var2的值为4.0800。
2、if-then语句的基本格式是:
if command
then
commands
fi
在c/c++/java等编程语言中if后面跟的是布尔表达式,而在shell脚本中,if后面跟的实际上是个命令command,
if语句会先运行这个命令,如果该命令的退出状态(exist status)值为0,也就是说命令执行成功,那么then后面的
commands就会执行,否则跳过。如在passwd文件中查找是否有myuser这样一个用户,并打印提示信息:
if grep "myuser" /etc/passwd
then
echo "find the user"
else
echo "no such a user"
fi。
实际上shell脚本的if后面跟的只能是命令,并根据命令的退出状态值来选择是否执行后面的语句;当然shell提供了其他便捷
方法供用户去计算布尔表达式值,如test命令。实际上如果test后面的条件表达式为true,test命令返回0,否则返回1。除了test命令,
还可以把条件表达式用中括号[]括起来,如if [ "10" -eq "5"]