一、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" 设置时间

【CentOS】又是一篇Shell的更多相关文章

  1. CentOS 6一键系统优化 Shell 脚本

    CentOS 6一键系统优化 Shell 脚本 脚本的内容如下: #!/bin/bash#author suzezhi#this script is only for CentOS 6#check t ...

  2. CentOS命令行与shell操作(linux系管与运维二)

    原创作品,转载请注明出处:https://www.cnblogs.com/sunshine5683/p/10293729.html 在上篇文章中总结了Linux常用的开机与关机以及重启的命令,今天继续 ...

  3. docker环境搭建centos+jdk+tomcat_CENTOS篇

    前言 (1)写在前面的话,鉴于在linux或类unix系统中安装jdk+tomcat等环境,没有什么经验,所以选择在docker容器中安装之,以防止安装失败无法恢复系统 (2)需要下载对应的系统的do ...

  4. 转一篇shell中关于各种括号的讲解

    shell中各种括号的作用().(()).[].[[]].{} 一.小括号,圆括号()1.单小括号 ()   ①命令组.括号中的命令将会新开一个子shell顺序执行,所以括号中的变量不能够被脚本余下的 ...

  5. Linux centos开机执行JAR Shell脚本

    Linux centos开机执行shell脚本 Linux centos开机执行 java  jar 1.编写jar执行脚本 vim start.sh 加入如下内容(根据自己真实路径与数据进行编写) ...

  6. CentOS启动流程及Shell脚本编程练习

    转至:http://www.178linux.com/88910 一.请详细描述CentOS系统的启动流程(详细到每个过程系统做了哪些事情) 第一步:POST加电自检 主要实现的功能是检测各个外围硬件 ...

  7. centos 下建用户 shell编程

    useradd 用户名 passwd 用户名 cat /etc/passwd  查看用户信息 删除用户 userdel -r   加一个 -r 表示把用户及用户的主目录都删除 su  切换用户 sud ...

  8. centos 配置 php 执行shell的权限

    在执行特定的shell命令,如  kill,killall 等需要配置root权限 php脚本运行在apache服务器下 可以看到 httpd 是以 apache 用户执行的 看一下 该用户信息 现在 ...

  9. CENTOS 6.6初始化SHELL脚本

    时间:2016-02-24 00:30来源:blog.51cto.com 作者:“xxlixin” 博客 举报 点击:1717次 这个脚本是在刚安装完CENTOS6.6后可能需要进行的操作.在学习CE ...

随机推荐

  1. [Unity3d]向量的过度方法以及拖尾效果

    Vector3.RotateTowards() 用法 public static function RotateTowards(current: Vector3, target: Vector3, m ...

  2. 2015.4.25-2015.5.1 字符串去重,比例圆设计,中奖机和canvas橡皮擦效果等

    1.字符串去重,html模板取值   2.javascript正则表达式之$1...$9   3.jquery插件   4.返回上一页并刷新 解决方法: <a href ="javas ...

  3. 精选9个值得学习的 HTML5 效果【附源码】

    这里精选了一组很酷的 HTML5 效果.HTML5 是现 Web 开发领域的热点, 拥有很多让人期待已久的新特性,特别是在移动端,Web 开发人员可以借助 HTML5 强大功能轻松制作各种交互性强.效 ...

  4. Excel 自动更正

    当有复杂的字段需要重复填写怎么办呢,比如××银行卡号,××电话号码,××公司地址等.可以使用excel的"自动更正"功能解决. 1. Excel 2010的自动更正选项在哪里呢 2 ...

  5. PHP获取当前页面的URL

    /** * 获取当前页面完整URL地址 * * @author 52php.cnblogs.com */ function http_get_page_url() { global $_G; if ( ...

  6. URL处理几个关键的函数parse_url、parse_str与http_build_query

    parse_url() 该函数可以解析 URL,返回其组成部分.它的用法如下: array parse_url(string $url) 此函数返回一个关联数组,包含现有 URL 的各种组成部分.如果 ...

  7. 《CMake实践》笔记三:构建静态库(.a) 与 动态库(.so) 及 如何使用外部共享库和头文件

    <CMake实践>笔记一:PROJECT/MESSAGE/ADD_EXECUTABLE <CMake实践>笔记二:INSTALL/CMAKE_INSTALL_PREFIX &l ...

  8. redis中的key设置过期时间

    EXPIRE key seconds 为给定  key  设置生存时间,当  key  过期时(生存时间为  0  ),它会被自动删除. 在 Redis 中,带有生存时间的  key  被称为『易失的 ...

  9. shell--2.shell数组

    shell 数组 (1)定义数组 shell中,用括号表示数组,数组元素用空格分开,定义数组的一般形式 arrt_name=(val1 val2 val3) 或者 arry_name=(val1 va ...

  10. exception catch doesn't work?? (python 3)

    exception catch doesn't work?? (python 3) except u.URLError, e: ^ SyntaxError: invalid syntax in Pyt ...