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修改时区

Linux修改系统时区

或者在配置文件/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学习日记的更多相关文章

  1. 配置ssh免密码登录——集群学习日记

    度过了难熬的考试月时期之后,最近和小伙伴一起参加的的比赛进入了紧张的准备时期.在进行工作的时候,发现有很多基础的知识点,自己不是很清楚以及了解,所以在想,要不就边学习的时候边写下学习日记,以供自己后来 ...

  2. Linux 学习日记 1

    这是我第一次系统地学习Linux,希望通过这个学习日记收获一些东西把-- @_@ Grub - 启动管理器   在启动时让用户选择要启动的系统.(但是windows比较霸道--重装windows后会将 ...

  3. Linux学习日记-使用EF6 Code First(四)

    一.在linux上使用EF 开发环境 VS2013+mono 3.10.0 +EF 6.1.0 先检测一下EF是不是6的 如果不是  请参阅 Linux学习日记-EF6的安装升级(三) 由于我的数据库 ...

  4. android学习日记05--Activity间的跳转Intent实现

    Activity间的跳转 Android中的Activity就是Android应用与用户的接口,所以了解Activity间的跳转还是必要的.在 Android 中,不同的 Activity 实例可能运 ...

  5. android学习日记03--常用控件Dialog

    常用控件 9.Dialog 我们经常会需要在Android界面上弹出一些对话框,比如询问用户或者让用户选择.这些功能我们叫它Android Dialog对话框 对话框,要创建对话框之前首先要创建Bui ...

  6. android学习日记03--常用控件checkbox/radiobutton

    常用控件3.checkbox 复选框,确定是否勾选,点击一下勾选,点击第二下取消,当有一系列备选项时适合用checkbox控件,方便用户提交数据. 贴上例子Activity的java代码 packag ...

  7. android学习日记03--常用控件button/imagebutton

    常用控件 控件是对数据和方法的封装.控件可以有自己的属性和方法.属性是控件数据的简单访问者.方法则是控件的一些简单而可见的功能.所有控件都是继承View类 介绍android原生提供几种常用的控件bu ...

  8. shell学习总结之自定义函数

    shell学习总结之自定义函数 Myfun (){ echo -n "now i is $i " ! [ "$i" ] && exit ; ec ...

  9. SHELL学习笔记----IF条件判断,判断条件

    SHELL学习笔记----IF条件判断,判断条件 前言: 无论什么编程语言都离不开条件判断.SHELL也不例外.  if list then           do something here   ...

随机推荐

  1. iphone配置实用工具iPhone Configuration Utility

    下载地址 http://support.apple.com/kb/DL1466 安装完毕后,在设备->控制台,可以很方便看到报错信息

  2. nginx upstream的几种配置方式

    nginx 的upstream目前支持4种方式的分配 1.轮询(默认) 每个请求按时间顺序逐一分配到不同的后端服务器 ,如果后端服务器down掉,能自动剔除. 2.weight指定轮询几率,weigh ...

  3. leetcode423

    public class Solution { public string OriginalDigits(string s) { ]; ; i < s.Length; i++) { char c ...

  4. xftp的简单使用

    1.下载并安装Xftp工具.打开Xftp工具,点击“新建”. 2.在“新建会话属性”中选择“名称”为主机命名,在“主机”栏输入主机IP,“协议”和“端口号”使用sftp和22,在“用户名”和“密码“栏 ...

  5. Android Studio Build APK没有报错,但是Generate signed apk报错

    有时候 ,我们在调试APK,直接Build是可以正常生成,没有报错,但是当我们将自己的签名文件加上去,就会报错.一般情况下,我们可以在build.gradle中的android{}里面添加一个东西 l ...

  6. JAVA基础知识总结7(抽象类 | 接口)

    抽象类: abstract 1.抽象:不具体,看不明白.抽象类表象体现. 2.在不断抽取过程中,将共性内容中的方法声明抽取,但是方法不一样,没有抽取,这时抽取到的方法,并不具体,需要被指定关键字abs ...

  7. 如何使CPU占用率为50%

    在Linux下,CPU的状态分为系统态,用户态和空闲态,分别指系统内核执行时间,处于用户态的时间和空闲系统进程执行的时间.三者之和就是CPU的总时间. CPU的利用率就是非空闲进程占用时间的比例. 1 ...

  8. 安装windows系统备忘

    1.已写入系统镜像的U盘 2.激活工具(同时激活系统及office) 3.如果没有网口或网线,需要准备万能网卡驱动 4.office 5.360 6.输入法 7.微信 8.谷歌浏览器

  9. 处理器适配器(handlerAdapter)执行源码分析(涉及到适配器模式)(九)

    适配器:实现很多接口统一管理. DispatcherServlet 组建的默认配置 HttpRequestHandlerAdapter,SimpleControllerHandlerAdapter,A ...

  10. 配置nginx支持Https

    配置nginx支持Https一定要先使用stop停止nginx然后重新代开不能使用reload 一:安装letsencrypt 1.从git上克隆下来git clone https://github. ...