一、Shell

1.Shell脚本的格式

#!/bin/bash 或者是 #!/bin/sh 开头 ,这是用于解析脚本的工具

2.执行脚本的方法

(1)bash filename 或者是sh filename

(2)chmod a+x filename.sh  因为默认没有执行权限

(3)sh -x filename.sh 这里的-x相当于是debug

3.Shell脚本的逻辑

if [判断语句] ; then     |      if [判断语句] ; then        |  case  变量  in

command            |        command                  |   value1)

fi                             |      elfi [判断语句]; then       |            command

|        command                  |            ;;

|      else                            |   value2)

|      fi                                |             command

|                                        |            ;;

|                                        |   easc

其中,shell 脚本中if还经常判断关于档案属性,比如判断是普通文件还是目录,判断文件是否有读写执行权限等。常用的也就几个选项:

-e :判断文件或目录是否存在

-d :判断是不是目录,并是否存在

-f :判断是否是普通文件,并存在

-r :判断文档是否有读权限

-w :判断是否有写权限

-x :判断是否可执行

-z :如果字符串为空,返回0(true).如 if [-z $temp]

-n :如果字符串为非空,返回0(true)

例如 if [-d filename]  ;then

就可以判断这个filename是否是一个目录,并是否存在

在判断数值大小除了可以用 (( )) 的形式外,还可以使用 [ ] 但是就不能使用>, < , = 这样的符号了,要使用 -lt (小于),-gt (大于),-le (小于等于),-ge (大于等于),-eq (等于),-ne (不等于)。下面阿铭就以命令行的形式简单比较一下,不再写shell脚本了

tips:":"在判断的时候表示true , -a 表示为and ,-o表示为or

判断拓展:

if echo $n1|grep -q '[^0-9]'

4.Shell脚本中的循环

for  变量名  in  循环条件 ;do     |      while 条件 ;

command                       |            command

done                                    |       done

注意,对于 for temp in 'seq 1 1 10'来说 ,中间的1为步长,如果要倒叙输出如10.9.8...的话,把命令改为for temp in '10 -1 1'

5.函数

注意区分break、continue和exit0的区别,前者是退出循环,中者为退出当前循环进入下一次循环,后者是退出脚本

二、date命令

date +%Y  四位年份

+%y   两位年份

+%m  月份

+%d   日

+%H   时

+%M   分

+%S   秒

+%w   星期几,如果是星期天显示7、

+%W  week number of year, with Monday as first day of week

+%s    时间错

+%F   full date, the same as %Y%m%d

+%T   time,the same as %H%M%S

date -d 用法:参考这篇博文,http://blog.chinaunix.net/uid-9370128-id-271932.html

date -s "2013-11-14 00:00:00" 设置时间

最新文章

  1. Java 性能分析工具 , 第 3 部分: Java Mission Control
  2. 使用VS Code 开发.NET Core 应用程序 部署到Linux 跨平台
  3. win10下vs2015创建asp,net core项目并运行在ubuntu14.04下
  4. [原]DbHelper-SQL数据库访问助手
  5. bootstrap bootstrapTable 隐藏列
  6. 树莓派通过 HDMI - VGA 转接后分辨率始终为640*480无法修改的问题
  7. ViewHolder VS HolderView ?
  8. Inno Setup 创建站点,创建虚拟目录
  9. 函数(jquery)
  10. hdu2647解题报告
  11. PouchDB 基础
  12. Linux 开放端口
  13. javascript引擎任务运行顺序
  14. Codeforces Round #538 (Div. 2) E 随机数生成
  15. python2编码的问题
  16. RNAcentral 数据库简介
  17. C# 使用 Task 替换 ThreadPool ,异步监测所有线程(任务)是否全部执行完毕
  18. mysql存储引擎简析
  19. scrapy抓取拉勾网职位信息(八)——使用scrapyd对爬虫进行部署
  20. 阿帕奇配置本地虚拟站点,XAMPP环境下

热门文章

  1. &lt;&lt;&lt; commons-fileupload 和 ajaxfileupload 实现局部上传
  2. python的颜色显示
  3. c# .Net :Excel NPOI导入导出操作教程之List集合的数据写到一个Excel文件并导出
  4. Windows的基本内容
  5. tyvj1113 魔族密码
  6. tomcat乱码原因--基本的编码问题
  7. 【转~】初识贝塞尔曲线(B&#233;zier curve)
  8. 如何给外部引用的js文件传递参数
  9. c# 通过反射调用类的构造函数
  10. mongo副本集搭建及服务器复用方案