1、EOF

Shell中通常将EOF与 <<和cat 结合使用,表示后续的输入作为子命令或子Shell的输入,直到遇到EOF为止,再返回到主调Shell。

可以把EOF替换成其他东西,意思是把内容当作标准输入传给程序。一般有两种用法,一种是直接打印在屏幕上,常用的是打印菜单,还

有一种用法是把输入的内容输出到另一个文件中。

1)

[root@localhost sh]# cat <<EOF
> 1)第一个菜单
> 2)第二个菜单
> 3)第三个菜单
> EOF
1)第一个菜单
2)第二个菜单
3)第三个菜单

2)

[root@localhost sh]# cat >>/opt/sh/test.log <<EOF
> 1、请注意你的输入合适
> 2、我们都是好朋友
> 3、咋们相互合作吧
> EOF
[root@localhost sh]# cat test.log

1、请注意你的输入合适
2、我们都是好朋友
3、咋们相互合作吧

2、$?

表示上一条命令是否执行成功,通过echo $?如果显示是0表示上一个命令执行成功,如果执行结果为非0表示不成功。

[root@localhost sh]# ls -l
total 4
-rw-r--r--. 1 root root 85 Apr 12 03:47 test.log
[root@localhost sh]#
[root@localhost sh]# echo $?
0
[root@localhost sh]# lt -l
-bash: lt: command not found
[root@localhost sh]#
[root@localhost sh]# echo $?
127

3、两个数字的比较

-eq表示等于  -ne表示不等于 -gt表示大于  -lt表示小于  -ge表示大于等于  -le表示小于等于

[root@localhost sh]# [ 2 -eq 3 ] && echo 0
[root@localhost sh]#
[root@localhost sh]#
[root@localhost sh]# [ 2 -eq 2 ] && echo 0
0

[root@localhost sh]# [ 2 -eq 2 ] && echo 0 || echo 1
0
[root@localhost sh]# [ 2 -eq 3 ] && echo 0 || echo 1
1

[root@localhost sh]# [ 3 -gt 2 ] && echo 0 || echo 1
0
[root@localhost sh]# [ 3 -gt 4 ] && echo 0 || echo 1
1
[root@localhost sh]# [ 3 -lt 4 ] && echo 0 || echo 1
0
[root@localhost sh]# [ 3 -lt 1 ] && echo 0 || echo 1
1

4、比较字符串的方法

[root@localhost sh]# name=lihua
[root@localhost sh]# [[ $name = lihua ]] && echo 0 || echo 1
0
[root@localhost sh]# [[ $name = "lihua" ]] && echo 0 || echo 1
0
[root@localhost sh]#
[root@localhost sh]# [[ $name = "lihua1" ]] && echo 0 || echo 1
1

5、中括号中的判断

[  -z ]判断变量是不是空值

[  !  -z  ]判断变量是不是不是空值

[  -d  FILE]如果 FILE 存在且是一个目录则为真

[ -f FILE ] 如果 FILE 存在且是一个普通文件则为真。

[root@localhost sh]# name=heruiguo
[root@localhost sh]# [ -z $name ]&& echo 0 ||echo 1
1
[root@localhost sh]# [ ! -z $name ]&& echo 0 ||echo 1
0

6、函数

#!/bin/bash

aaa(){
echo "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
}

aaa
aaa
aaa
aaa

[root@localhost sh]# ./funsco.sh
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

shell学习(二)的更多相关文章

  1. linux shell学习二

    参考:http://www.cnblogs.com/waitig/p/5531463.html Shell注释 Shell中的注释以“#”号开头,所有以“#”号开头的代码都会被解释器所忽略. 比如下面 ...

  2. Shell 学习(二)

    目录 Shell 学习(二) 1 设置环境变量 1.1 基本语法 1.2 实践 2 位置参数变量 2.1 介绍 2.2 基本语法 2.3 位置参数变量应用实例 3 预定义变量 3.1 基本介绍 3.2 ...

  3. Shell学习之Bash变量详解(二)

    Shell学习之Bash变量详解 目录 Bash变量 Bash变量注意点 用户自定义变量 环境变量 位置参数变量 预定义变量 Bash变量 用户自定义变量:在Bash中由用户定义的变量. 环境变量:这 ...

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

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

  5. Hbase深入学习(二) 安装hbase

    Hbase深入学习(二) 安装hbase This guidedescribes setup of a standalone hbase instance that uses the local fi ...

  6. shell学习笔记汇总

    1.shell脚本中函数使用 函数定义在前,调用在后,顺序反了就没有效果了.函数调用为:函数名 参数列表 函数内部通过以下变量访问函数的参数:shell脚本函数中: $0: 这个脚本的名字 $n: 这 ...

  7. Shell 学习—AWK介绍

    Shell 学习—AWK = = = 安装awk root@kiki-desktop:~/shell# apt-get install gawk gawk-doc = = = awk 是一种程序语言. ...

  8. shell 学习笔记2-shell-test

    一.字符串测试表达式 前面一篇介绍:什么是shell,shell变量请参考: shell 学习笔记1-什么是shell,shell变量 1.字符串测试表达式参数 字符串需要用""引 ...

  9. Shell 学习(三)

    目录 Shell 学习(三) 流程控制 1 if判断 2 case 语句 3 for循环 4 while 循环 2 read 读取控制台输入 2.1 基本语法 2.2 应用实例 3 函数 3.1 系统 ...

  10. SHELL学习笔记三

    SHELL学习笔记一 SHELL学习笔记二 SHELL学习笔记三 for 命令 读取列表中的复杂值 从变量读取列表 从命令读取值 更改字段分隔符 用通配符读取目录 which 使用多个测试命令 unt ...

随机推荐

  1. 【BZOJ1488】[HNOI2009]图的同构(Burside引理,Polya定理)

    [BZOJ1488][HNOI2009]图的同构(Burside引理,Polya定理) 题面 BZOJ 洛谷 题解 求本质不同的方案数,很明显就是群论这套理论了. 置换一共有\(n!\)个,考虑如何对 ...

  2. 【BZOJ1056】[HAOI2008]排名系统(Splay)

    [BZOJ1056][HAOI2008]排名系统(Splay) 题面 BZOJ 洛谷 题解 \(Splay\)随便维护一下就好了,至于名字什么的,我懒得手写哈希表了,直接哈希之后拿\(map\)压. ...

  3. VS2010 代码突然改变字体 解决办法

    sfsfsddffs dffsfsfsfsf 如上,第一行是突然变成宽体的字体,第二行是恢复后的字体,方法就是: shift+空格键,一起按就会在这两种字体之间变换~

  4. PHP内核-代码的执行(二)

    学习来源:http://www.php-internals.com/book/?p=chapt02/02-00-overview 最开始学习PHP的时候感觉上手真的好容易,噼里啪啦一个回车 “Hell ...

  5. git other-误删恢复等

    修改未push的最后一次commit 如在commit后发现漏添加的文件或者commit message需要修改,则可以依次执行: git add FILE_UN_STAGED # 将未提交的文件添加 ...

  6. linux command ------ watch

    watch命令以周期性的方式执行给定的指令,指令输出以全屏方式显示.watch是一个非常实用的命令,基本所有的Linux发行版都带有这个小工具,如同名字一样,watch可以帮你监测一个命令的运行结果, ...

  7. webpack打包提取css到独立文件

    将本来镶嵌在bundle.js的css转到外面来,我们需要用到一个插件:extract-text-webpack-plugin 使用方法: 1.安装 npm i extract-text-webpac ...

  8. Hadoop生态圈-Flume的主流source源配置

    Hadoop生态圈-Flume的主流source源配置 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客只是配置的是Flume主流的Source,想要了解更详细的配置信息请参 ...

  9. HttpDebug下载

    话不多说,早就有了这个,有一天公司地址有限制,网盘访问不了,看见很多博客园上的下载都需要积分,忍不了就发出来共享吧! HttpDebug下载: https://files.cnblogs.com/fi ...

  10. Eclipse的一些常用的快捷键

    写代码的时候常用的: Ctrl + 鼠标左键: 进入函数定义,变量声明: Alt + ←: 回到上次编辑的地方, 同理 Alt + → 可以移回来 Ctrl + O: 查找当前类的所有函数,变量 Ct ...