【CentOS】又是一篇Shell
一、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的更多相关文章
- CentOS 6一键系统优化 Shell 脚本
CentOS 6一键系统优化 Shell 脚本 脚本的内容如下: #!/bin/bash#author suzezhi#this script is only for CentOS 6#check t ...
- CentOS命令行与shell操作(linux系管与运维二)
原创作品,转载请注明出处:https://www.cnblogs.com/sunshine5683/p/10293729.html 在上篇文章中总结了Linux常用的开机与关机以及重启的命令,今天继续 ...
- docker环境搭建centos+jdk+tomcat_CENTOS篇
前言 (1)写在前面的话,鉴于在linux或类unix系统中安装jdk+tomcat等环境,没有什么经验,所以选择在docker容器中安装之,以防止安装失败无法恢复系统 (2)需要下载对应的系统的do ...
- 转一篇shell中关于各种括号的讲解
shell中各种括号的作用().(()).[].[[]].{} 一.小括号,圆括号()1.单小括号 () ①命令组.括号中的命令将会新开一个子shell顺序执行,所以括号中的变量不能够被脚本余下的 ...
- Linux centos开机执行JAR Shell脚本
Linux centos开机执行shell脚本 Linux centos开机执行 java jar 1.编写jar执行脚本 vim start.sh 加入如下内容(根据自己真实路径与数据进行编写) ...
- CentOS启动流程及Shell脚本编程练习
转至:http://www.178linux.com/88910 一.请详细描述CentOS系统的启动流程(详细到每个过程系统做了哪些事情) 第一步:POST加电自检 主要实现的功能是检测各个外围硬件 ...
- centos 下建用户 shell编程
useradd 用户名 passwd 用户名 cat /etc/passwd 查看用户信息 删除用户 userdel -r 加一个 -r 表示把用户及用户的主目录都删除 su 切换用户 sud ...
- centos 配置 php 执行shell的权限
在执行特定的shell命令,如 kill,killall 等需要配置root权限 php脚本运行在apache服务器下 可以看到 httpd 是以 apache 用户执行的 看一下 该用户信息 现在 ...
- CENTOS 6.6初始化SHELL脚本
时间:2016-02-24 00:30来源:blog.51cto.com 作者:“xxlixin” 博客 举报 点击:1717次 这个脚本是在刚安装完CENTOS6.6后可能需要进行的操作.在学习CE ...
随机推荐
- Python操作Mysql之基本操作
pymysql python操作mysql依赖pymysql这个模块 下载安装 pip3 install pymysql 操作mysql python操作mysql的时候,是通过”游标”来进行操作的. ...
- php操作mongodb
<?php set_time_limit(0); $mongo = new Mongo('192.168.33.50:27017'); //连接远程主机22011端口 $db = $mongo- ...
- ssh模仿ansible批量执行命令的功能
#!/bin/bash ssh_hosts=("IP" "IP1".......) user=root remote_cmd="df -h" ...
- 使用safari对webview进行调试
在web开发的过程中,抓包.调试页面样式.查看请求头是很常用的技巧.其实在iOS开发中,这些技巧也能用(无论是模拟器还是真机),不过我们需要用到mac自带的浏览器Safari.所以,本文将讲解如何使用 ...
- mysql问题
mysql x64,由于没有msi版,因此,在使用上可能会出现一些问题. 一. 配置环境变量: 只需把mysql/bin文件夹地址完整地添加到Path中,用“;”与前面的参数隔开.需注意,mysql ...
- SQL中SET和SELECT赋值的区别
最近的项目写的SQL比较多,经常会用到对变量赋值,而我使用SET和SELECT都会达到效果. 那就有些迷惑,这两者有什么区别呢?什么时候哪该哪个呢? 经过网上的查询,及个人练习,总结两者有以下几点主要 ...
- LYDSY模拟赛day2 Market
/* orz claris,这个题的解法非常巧妙,首先是时间问题,其实这个问题只要离线处理一下就可以了,把物品和询问都按照时间排序,然后看一下能不能满足.然后,因为容量<=10^9,显然是不可能 ...
- javascript创建对象的一些方式
通过创建一个Object实例 var person = new Object(); person.name = "zhouquan"; person.age = 21; perso ...
- 【bzoj3531】 [SDOI2014]旅行
题目描述 S国有N个城市,编号从1到N.城市间用N-1条双向道路连接,满足从一个城市出发可以到达其它所有城市.每个城市信仰不同的宗教,如飞天面条神教.隐形独角兽教.绝地教都是常见的信仰.为了方便,我们 ...
- 超简单,安卓模拟器手动root
本文转载自:http://quantoubao.blog.163.com/blog/static/2083211702013870501987/ 安装Android SDK安卓模拟器的方法很简单,网上 ...