网站设计动画,网站优化排名资源,服装配件网站建设 中企动力,电商沙盘seo优化key words : 执行多个命令的方法 、 创建与执行脚本、反引号 、数学计算8.1 执行多个命令的方法:1、在每个命令间用;隔开[rootlocalhost ~]# date;who2011年 05月 29日 星期日 08:44:32 EDTroot :0 2011-05-29 08:32root pts/0 2011-05-29 08:33 (:0.… key words : 执行多个命令的方法 、 创建与执行脚本、反引号 、数学计算 8.1 执行多个命令的方法: 1、在每个命令间用 ; 隔开 [rootlocalhost ~]# date;who 2011年 05月 29日 星期日 08:44:32 EDT root :0 2011-05-29 08:32 root pts/0 2011-05-29 08:33 (:0.0) 2、在每个命令间用 隔开表示当前一个命令执行成功才执行下一个命令常用在自动安装的script中 [rootlocalhost ~]# litingwho bash: liting: command not found [rootlocalhost ~]# 3、|| 当前一个命令执行成功时就不会往下执行若失败就继续往下执行。 [rootlocalhost ~]# who||liting root :0 2011-05-29 08:32 root pts/0 2011-05-29 08:33 (:0.0) [rootlocalhost ~]# [rootlocalhost ~]# liting||who bash: liting: command not found root :0 2011-05-29 08:32 root pts/0 2011-05-29 08:33 (:0.0) [rootlocalhost ~]# 8.2 创建脚本 bash shell程序结构 大概由变量设置、内置命令、shell语法结构、函数及其他命令行的程序组成。 例 #!/bin/bash //表示用/bin/bash编译执行这个script文件 functionshow_name() { //定义一个函数 echo 今天是$1, 你是$2,来自$3 } name$1// 三个变量设定 ip192.168.0.9 todaydate %F if [ $# !1 ]; then//if判断语法结构 echo Usage: ./$0 [使用者名称] exit fi show_name $today $name $ip// 调用show_name函数 sleep 5// 暂停5秒 echo//输出空行 echo bye-bye :) 主意事项 1、脚本文件第一行要指定所用的shell 例如 #!/bin/bash 2、给脚本添加可执行权限 例 [rootlocalhost ~]# vim bb #!/bin/bash date who [rootlocalhost ~]# ./bb 2011年 05月 29日 星期日 08:51:30 EDT root :0 2011-05-29 08:32 root pts/0 2011-05-29 08:33 (:0.0) [rootlocalhost ~]# 检查script语法 [rootlocalhost ~]# bash -v aa [rootlocalhost ~]# bash -n aa [rootlocalhost ~]# bash -x aa 执行bash script 1、切换到脚本所在的目录 ./scriptname 或 bash scriptname 2、直接输入脚本所在绝对路径 3、. 绝对路径 8.4 反引号 反引号允许将shell命令的输出直接赋值给变量 例 [rootlocalhost ~]# testdate直接把date的结果赋给test [rootlocalhost ~]# echo $test 2011年 07月 20日 星期三 20:56:10 EDT 每天23点48分以当天的日期命名备份一次messages日志文件 [rootlocalhost ~]# cat log #!/bin/bash todaydate %y%m%d cat /var/log/messages messages.$today [rootlocalhost ~]# chmod ux log [rootlocalhost ~]# crontab -e 58 23 * * *./log 8.7 数学计算 1、expr命令—限制较多 [rootlocalhost ~]# expr 12 2 注意符号和数字直接要有空格 14 [rootlocalhost ~]# expr 12 * 2 expr: 语法错误 [rootlocalhost ~]# expr 12 \* 2 遇到通配字符要先转义 24 [rootlocalhost ~]# expr 12 / 2 6 [rootlocalhost ~]# 2、使用括号—推荐使用 例 [rootlocalhost ~]# cc$[1 * 4] [rootlocalhost ~]# echo $cc 4 [rootlocalhost ~]# cat count #!/bin/bash var1$[50 * 2] var245 var3$[$var1 / $var2] echo the final result is $var3 [rootlocalhost ~]# ./count the final result is 2 [rootlocalhost ~]# bash shell 只支持整数算法对于实际运算是个较大的限制可以用内置的bashbc计算器解决 bc计算器可以识别 数字整型和浮点型 变量简单的变量和数组 注释以英镑符号开始的行或C语言的/**/对 表达式 编程语句例如if-then 函数 例 简单的加减 [rootlocalhost ~]# bc bc 1.06 Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc. This is free software with ABSOLUTELY NO WARRANTY. For details type warranty. 22 4 2.5*2 5.0 3.14159*(20192) 666.01708 quit [rootlocalhost ~]# 识别变量 [rootlocalhost ~]# bc -q var110 var22 var1*2 20 var2var1-9 print var2 quit [rootlocalhost ~]# 控制小数点 [rootlocalhost ~]# bc -q 3/5 0 scale3 3/5 .600 quit 在脚本中使用bc [rootlocalhost ~]# cat bc #!/bin/bash var1echo scale4;3.14/5 | bc echo the answer is $var1 [rootlocalhost ~]# ./bc the answer is .6280 [rootlocalhost ~]# 转载于:https://blog.51cto.com/oneliting/650928