linux下如何在shell中执行小数的运算
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux下如何在shell中执行小数的运算相关的知识,希望对你有一定的参考价值。
我想在shell中实现一个这样的循环,但是shell不支持小数的运算,有没有大神知道怎么在shell中实现小数的运算
x=0.02
while ((x<0.06))
do
echo $x
x=$(($x+0.02))
done
如:
#!/bin/sh
x=0.02
x=`echo "scale=3;$x+0.02" | bc `
echo $x
如果要控制循环,x<0.06显然是不能用的,但你可以用x<6,然后把最终结果用bc除以100呗~ 参考技术A 楼主,推荐用awk:
/bin/awk 'BEGINa=0.02;while(a<0.06)a=a+0.02;print a'
linux下如何写个SHELL脚本,每天执行这么几句命令:
1、killall p(杀死p这个进程) 2、然后到/usr/local/encode目录下执行一条特殊的软件服务启动命令例如:service httpd start,但是我的软件的启动命令只能到/usr/local/encode目录下才能执行,请大神看清楚我的问题。
在线等啊!!!
1、登录CentOS7系统,打开终端,输入命令env shell打印出shell进程的环境变量。
2、本地变量只存在当前shell进程。新建一个本地变量MYVAR=myvalue注意等号两边不能有空格。
3、查看本地变量set查看指定本地变量set | grep MYVAR。
4、导出本地变量为环境变量export MYVAR。
5、删除本地变量或环境变量unset MYVAR即可。
参考技术A 每天自动执行肯定是要用一个crontab的脚本可以这样写:
#!/bin/bash
PRO=ps x|grep p|grep -v grep|awk 'print $1'
kill -9 $PRO
service httpd start
脚本上面即可实现了
如果要每天自动执行,那么需要添加一条crontab
如果你的P进程是apache进程,那么直接start就行,如果不是那么要restart
0 1 * * * /usr/local/encode/apachectl restart
上面提到的只能在/usr/local/encode下执行是说明你的服务直接执行的脚本本回答被提问者采纳
以上是关于linux下如何在shell中执行小数的运算的主要内容,如果未能解决你的问题,请参考以下文章
LINUX下shell脚本如何执行 sql脚本 到DB2数据库?