shell学习(二)
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学习(二)的更多相关文章
- linux shell学习二
参考:http://www.cnblogs.com/waitig/p/5531463.html Shell注释 Shell中的注释以“#”号开头,所有以“#”号开头的代码都会被解释器所忽略. 比如下面 ...
- Shell 学习(二)
目录 Shell 学习(二) 1 设置环境变量 1.1 基本语法 1.2 实践 2 位置参数变量 2.1 介绍 2.2 基本语法 2.3 位置参数变量应用实例 3 预定义变量 3.1 基本介绍 3.2 ...
- Shell学习之Bash变量详解(二)
Shell学习之Bash变量详解 目录 Bash变量 Bash变量注意点 用户自定义变量 环境变量 位置参数变量 预定义变量 Bash变量 用户自定义变量:在Bash中由用户定义的变量. 环境变量:这 ...
- shell学习总结之自定义函数
shell学习总结之自定义函数 Myfun (){ echo -n "now i is $i " ! [ "$i" ] && exit ; ec ...
- Hbase深入学习(二) 安装hbase
Hbase深入学习(二) 安装hbase This guidedescribes setup of a standalone hbase instance that uses the local fi ...
- shell学习笔记汇总
1.shell脚本中函数使用 函数定义在前,调用在后,顺序反了就没有效果了.函数调用为:函数名 参数列表 函数内部通过以下变量访问函数的参数:shell脚本函数中: $0: 这个脚本的名字 $n: 这 ...
- Shell 学习—AWK介绍
Shell 学习—AWK = = = 安装awk root@kiki-desktop:~/shell# apt-get install gawk gawk-doc = = = awk 是一种程序语言. ...
- shell 学习笔记2-shell-test
一.字符串测试表达式 前面一篇介绍:什么是shell,shell变量请参考: shell 学习笔记1-什么是shell,shell变量 1.字符串测试表达式参数 字符串需要用""引 ...
- Shell 学习(三)
目录 Shell 学习(三) 流程控制 1 if判断 2 case 语句 3 for循环 4 while 循环 2 read 读取控制台输入 2.1 基本语法 2.2 应用实例 3 函数 3.1 系统 ...
- SHELL学习笔记三
SHELL学习笔记一 SHELL学习笔记二 SHELL学习笔记三 for 命令 读取列表中的复杂值 从变量读取列表 从命令读取值 更改字段分隔符 用通配符读取目录 which 使用多个测试命令 unt ...
随机推荐
- hdu 6301 Distinct Values (2018 Multi-University Training Contest 1 1004)
Distinct Values Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)T ...
- MT【185】$\max$的表示
已知$f(x)=x^2+(a-4)x+1+|x^2-ax+1|$的最小值为$\dfrac{1}{2}$,则$a$=______ 提示:$f(x)=\max\{2(x-1)^2,2(a-2)x\}$,从 ...
- 【题解】 P1879 玉米田Corn Fields (动态规划,状态压缩)
题目描述 Farmer John has purchased a lush new rectangular pasture composed of M by N (1 ≤ M ≤ 12; 1 ≤ N ...
- 织梦dedecms搜索页加上序列号autoindex
在我们做织梦搜索页模板的时候经常会使用到autoindex标签.那么怎么才能实现搜索页可以使用呢?下面给大家分享下解决方法: 打开文件:include/arc.searchview.class.php ...
- Redis的持久化数据
Redis支持两种持久化:RDB和AOF模式 一.名词解释: RDB:持久化可以在指定的时间间隔内生成数据集的时间点快照(point-in-time snapshot).AOF:持久化记录服务器执行的 ...
- OpenStack 存储服务 Cinder存储节点部署NFS(十七)
Cinder存储节点部署 1.安装软件包 yum install -y nfs-utils rpcbind 提示:早期版本安装portmap nfs-utils :包括基本的NFS命令与监控程序 rp ...
- POJ - 1094 Sorting It All Out(拓扑排序)
https://vjudge.net/problem/POJ-1094 题意 对于N个大写字母,给定它们的一些关系,要求判断出经过多少个关系之后可以确定它们的排序或者排序存在冲突,或者所有的偏序关系用 ...
- CSS3 - chrome,傲游,360极速浏览器不支持小于12px的字号的解决办法
google流量器chrome,傲游,360极速浏览器都是基于webkit内核浏览器,默认不支持小于font-size小于12px 的字号,即定义font-size小于12px时会发现字体大小依然是1 ...
- ODPS_ele—UDF Python API
自定义函数(UDF) UDF全称User Defined Function,即用户自定义函数.ODPS提供了很多内建函数来满足用户的计算需求,同时用户还可以通过创建自定义函数来满足不同的计算需求.UD ...
- expect 交互
expect expect 是一种自动交互语言,能实现在shell脚本中为scp和ssh等自动输入密码自动登录. exp_continue # 多个spawn命令时并行 interact # 执行完成 ...