Shell学习日记
if语句的使用
if语句的的格式:
if 【 expression 】 expression 和方括号([ ])之间必须有空格,否则会有语法错误。
then
statments
fi 或者:
if 【 expression 】
then
statments
else
statment
fi
多条分支结构
或者:
if 【 expression 】
then
statments
elif 【 expression 】 注意用的是elif
then
statments
elif 【 expression 】
then
statments
else
statments
a=
b=
echo "a的值为:${a}"
echo "b的值为:${b}"
if [ $a -gt $b ] #-gt代表大于 -lt代表小于 -ne不等于 -eq等于
then
echo "a的值比b大"
else
echo "a的值比b小"
fi


While循环:

until循环:

Shell日期格式:

修改日期格式:

cat标名行号
cat -n 文件名
cat忽略空行标明行号
cat -b 文件名
Shell修改时区
或者在配置文件/etc/profile下添加如下代码:

最后source /etc/profile
let和expr运算指令
关于整数变量计算,有如下几种:【+ 、- 、* 、/ 、%】,他们的意思和字面意思相同。
整数运算一般通过let和expr这两个指令来实现,如对变量x加1可以写作:
let "x=$x+1"
#或者
x=`expr $x + `
在比较操作上,整数变量和字符串变量各不相同,详见下表:
|
对应的操作 |
整数操作 |
字符串操作 |
|
相同 |
-eq |
= |
|
不同 |
-ne |
!= |
|
大于 |
-gt |
> |
|
小于 |
-lt |
< |
|
大于或等于 |
-ge |
|
|
小于或等于 |
-le |
|
|
为空 |
-z |
|
|
不为空 |
-n |
比如:
比较字符串a和b是否相等就写作:
if [ $a = $b ]
判断字符串a是否为空就写作:
if [ -z $a ]
判断整数变量a是否大于b就写作:
if [ $a -gt $b ]
BASH中用于判断文件属性的操作符:
|
运算符 |
含义( 满足下面要求时返回 TRUE ) |
|
-e file |
文件 file 已经存在 |
|
-f file |
文件 file 是普通文件 |
|
-s file |
文件 file 大小不为零 |
|
-d file |
文件 file 是一个目录 |
|
-r file |
文件 file 对当前用户可以读取 |
|
-w file |
文件 file 对当前用户可以写入 |
|
-x file |
文件 file 对当前用户可以执行 |
|
-g file |
文件 file 的 GID 标志被设置 |
|
-u file |
文件 file 的 UID 标志被设置 |
|
-O file |
文件 file 是属于当前用户的 |
|
-G file |
文件 file 的组 ID 和当前用户相同 |
|
file1 -nt file2 |
文件 file1 比 file2 更新 |
|
file1 -ot file2 |
文件 file1 比 file2 更老 |
Shell学习日记的更多相关文章
- 配置ssh免密码登录——集群学习日记
度过了难熬的考试月时期之后,最近和小伙伴一起参加的的比赛进入了紧张的准备时期.在进行工作的时候,发现有很多基础的知识点,自己不是很清楚以及了解,所以在想,要不就边学习的时候边写下学习日记,以供自己后来 ...
- Linux 学习日记 1
这是我第一次系统地学习Linux,希望通过这个学习日记收获一些东西把-- @_@ Grub - 启动管理器 在启动时让用户选择要启动的系统.(但是windows比较霸道--重装windows后会将 ...
- Linux学习日记-使用EF6 Code First(四)
一.在linux上使用EF 开发环境 VS2013+mono 3.10.0 +EF 6.1.0 先检测一下EF是不是6的 如果不是 请参阅 Linux学习日记-EF6的安装升级(三) 由于我的数据库 ...
- android学习日记05--Activity间的跳转Intent实现
Activity间的跳转 Android中的Activity就是Android应用与用户的接口,所以了解Activity间的跳转还是必要的.在 Android 中,不同的 Activity 实例可能运 ...
- android学习日记03--常用控件Dialog
常用控件 9.Dialog 我们经常会需要在Android界面上弹出一些对话框,比如询问用户或者让用户选择.这些功能我们叫它Android Dialog对话框 对话框,要创建对话框之前首先要创建Bui ...
- android学习日记03--常用控件checkbox/radiobutton
常用控件3.checkbox 复选框,确定是否勾选,点击一下勾选,点击第二下取消,当有一系列备选项时适合用checkbox控件,方便用户提交数据. 贴上例子Activity的java代码 packag ...
- android学习日记03--常用控件button/imagebutton
常用控件 控件是对数据和方法的封装.控件可以有自己的属性和方法.属性是控件数据的简单访问者.方法则是控件的一些简单而可见的功能.所有控件都是继承View类 介绍android原生提供几种常用的控件bu ...
- shell学习总结之自定义函数
shell学习总结之自定义函数 Myfun (){ echo -n "now i is $i " ! [ "$i" ] && exit ; ec ...
- SHELL学习笔记----IF条件判断,判断条件
SHELL学习笔记----IF条件判断,判断条件 前言: 无论什么编程语言都离不开条件判断.SHELL也不例外. if list then do something here ...
随机推荐
- vector向量容器元素排序与查找
1.利用标准库函数sort()对vector进行排序 参考源码: #include <algorithm> #include <vector> vector<int> ...
- Windows注册表各个作用
与注册表有关的术语1.注册表:是一个树状分层的数据库(如图).从物理上讲,它是System.dat和User.dat两个文件;从逻辑上讲,它是用户在注册表编辑器中看到的配置数据.2.HKEY :“根键 ...
- java 多线程系列基础篇(八)之join()、start()、run()方法
1. join()介绍 join() 定义在Thread.java中.join() 的作用:让“主线程”等待“子线程”结束之后才能继续运行.这句话可能有点晦涩,我们还是通过例子去理解: // 主线程 ...
- CentOS 6.3安装jdk(笔记整理)
1. 下载bin文件,切忌oracle上现在下载到的旧版本的jdk的bin都是网页(执行会报错,见本文最后的截图),他们需要登录oracle后才能下载,所以我这里的url是从googlecode里觅来 ...
- JVM实用参数(三)打印所有XX参数及值
JVM实用参数(三)打印所有XX参数及值 原文地址:https://blog.codecentric.de/en/2012/07/useful-jvm-flags-part-3-printing-al ...
- [poj1509]Glass Beads(最小表示法)
题目大意:求循环同构的字符串的最小字典序. 解题关键:最小表示法模板题. #include<cstdio> #include<cstring> #include<algo ...
- 前端学习笔记2017.6.21-引入JS文件的方法
通过网络引入JS文件 <script src="https://www.xxx.com/aaa.js"></script> 如果是引入本地JS文件 < ...
- Java-马士兵设计模式学习笔记-工厂模式-单例及多例
一.单例的作用是用于控制类的生成方式,而不让外部类任意new对象 1.Car.java import java.util.ArrayList; import java.util.List; publi ...
- Clos Network
1952年,Charles Clos 设计出了一种多级的交换架构,用多级的小型交换机阵列来构建一张大的无阻塞的网络.在此之前,要实现“无阻塞的架构”,只能采用NxN的Cross-bar方式. 而Clo ...
- bit byte的关系
字 word 字节 byte 位 bit 字长是指字的长度 1字=2字节(1 word = 2 byte) 1字节=8位(1 byte = 8bit) 一个字的字长为2个字节=2*8=16 一个字节 ...