shell-早间学习,每日一点-5
http://www.cnblogs.com/liuling/p/2013-8-4-01.html
http://www.cnblogs.com/stephen-liu74/category/326653.html
http://blog.csdn.net/varistor/article/details/8160585
给用户一个读与执行的权限(chmod u+rx aa.sh),就可以用./aa.sh来执行脚本(这样执行是开启一个子shell来执行的)
#!(读音:sha-bang)实际是一个2字节的魔法数字,这是指定一个文件类型的特殊标记,它就代表一个可执行的脚本,后面跟一个路径名
shell内部变量
$SHELL 显示当前系统用的shell
$BASH 显示bash路径
$PWD 结果 等于dirs命令结果
$GROUPS 当前用户属于的组
$UID 用户ID号
$HOME 用户home目录
预定义变量,适用所有shell,无法更改
$# 取出位置参数个数
$* 取出所有位置参数内容
$? 判断上一次命令执行结果是否正确,0代表正确,非0则不代表不正确
$1、$2、$3……位置参数 脚本位置参数个数如果超过9要用{}括起来,如${10}
$_ 保存之前执行的命令的最后一个参数
自定义变量:
declare / typeset 选项 变量名
declare 或 typeset 有同样的功能:指定变量属性。如果使用 declare 后面并没有接任何参数,那么 bash 就会主动的将所有的变量名称与内容通通叫出来,就好像使用 set 一样!
选项:
-a 将后面的变量定义成为数组 (array)
-i 将后面的变量定义成为整数(integer)
-x 将后面的变量变成环境变量,同export 一样,
-r 将后面的变量设定为只读 ,该变量不可被更改内容,也不能 unset
-f 列出脚本中的函数
例如:
typeset up_url="10.135.169.34" 或者: up_url="10.135.169.34" 建议前一种
readonly用来设置只读变量
readonly 变量名
readonly -f 函数名称
readonly -a 数组变量
shell脚本中的一些特殊字符:
# 后面的内容到行尾都是注释,不会执行(第一行的#!是个例外)
注意:echo命令中被转义的#不能作为注释,在特定的参数替换结构或数字常量表达式中也不是注释
如 echo ${PATH#*:}
echo $((2#101011))
\ 转义字符
; 命令分隔符,可以用来在一行中写多个命令
;; 终止case结构中选项
, 逗号链接了一系列的算术操作,虽然里面的内容都被运行了,最后一项被返回
` 后置引用,命令替换
: 空命令等价于NOP,也可认为与true作用相同
可以充当占位符,例如
if [ ]
then : #什么都不做,引出分支
else
.................
fi
linux终端下的一些常用快捷键,可以加快操作速度的
Ctrl+a 移到命令行首
Ctrl+e 移到命令行尾
Ctrl+u 删除到行首的命令
Ctrl+k 删除到行尾的命令
Ctrl+a后再Ctrl+k 或者Ctrl+e后再Ctrl+u就是删除输入的全部命令
Ctrl+c 终止当前任务
Ctrl+d 登出shell
Ctrl+l 相当于clear,清屏
Esc+. 重新调用前一个命令中的参数,非常有用!
dd 删除当前行
另外加上SIS 查看日志常用命令需要也整理一下:
比如:Shift +G ,看下笔记,整理一下
9.if判断都有哪些格式?
格式一:
if [ ];then
........
fi
等价于
if [ ]
then
...........
fi
格式二:
if [ ]
then
..........
else
..........
if
格式三:
if [ ]
then
......
elif [ ]
then
.......
fi
格式四:
if [ ]
then
......
elif [ ]
then
.......
elif [ ]
then
.......
elif [ ]
........
elif
.......
fi
if-grep结构:
if grep -q aa book.txt
then echo "book.txt至少有一个字符串aa"
fi
待继续:
http://blog.csdn.net/varistor/article/details/8160585
shell-早间学习,每日一点-5的更多相关文章
- 转 shell脚本学习指南
shell脚本学习指南 以下八点不敢说就能成为你shell脚本学习指南de全部,至少可以让你编写出可靠的shell脚本. 1. 指定bashshell 脚本的第一行,#!之后应该是什么?如果拿这个问题 ...
- Shell脚本学习 - 运算符
继续shell脚本学习.上一篇是基本数据类型和语法的总结,这一篇是运算相关的操作. 运算符 bash不支持简单的数学计算,需要依赖其他命令实现. expr可以代为实现. # 表达式一般这么写 ` + ...
- 笔记——shell脚本学习指南
<shell脚本学习指南>机械工业出版 ISBN 987-7-111-25504-8 第2章 2.4 初级陷阱 1.当今的系统,对#!这一行的长度限制从63到1024个字符都有,尽量不要超 ...
- Shell 脚本学习资料搜集
Shell文档 ChinaUnix上大神“網中人”总结的Shell十三问,强烈推荐,这本书讲得比较精炼,而且都是一些Shell学习中容易把握不住的一些细节难点.每一问都写得非常精彩.ChinaUnix ...
- 学习笔记之Shell脚本学习指南 & sed与awk & 正则表达式
正则表达式_百度百科 http://baike.baidu.com/link?url=ybgDrN2WQQKN64_gu-diCqdeDqL8LQ-jiQ-ftzzPaNUa9CmgBRDNnyx50 ...
- Shell脚本学习 - 流程控制和函数
继续Shell的学习.上两篇是关于基本数据类型,基本语法以及运算符相关,这一篇是流程控制相关(if, for, while) 流程控制 if else 流程控制不可为空,如果else没有语句执行,就不 ...
- Linux shell 菜鸟学习笔记....
20171123 Linux shell 基础学习笔记1. shell 的开始 一般是 #!/bin/bash 通过 #! 来唯一指定使用的shell路径 其他的 # 都表示注释.2. shell 的 ...
- Linux 下shell 编程学习脚手架
linux body { font-family: Helvetica, arial, sans-serif; font-size: 14px; line-height: 1.6; padding-t ...
- Linux 下Shell的学习
1.Shell学习 1.什么是Shell shell是一个命令解析器,在操作系统的最外层,负责和用户对话,将用户的输入解释给操作系统,并处理各种各样的操作系统的输出结果.2.什么是shell脚本 ...
- shell脚本学习总结02--数组
bash同时支持普通数组个关联数组,普通数组只能使用整数作为数组的索引,关联数组可以使用字符串作为数组的索引. 数组的定义方法: 在单行中使用一列值定义一个数组 [root@new ~]# array ...
随机推荐
- Thinking in scala (2)---- 最大公约数
gcd.scala object gcd{ def main(args:Array[String]){ println( gcd1(args(0).toInt,args(1).toInt)) prin ...
- 解决VirtualBox下安装虚拟机(Ubuntu)出错(不能为虚拟电脑Ubuntu打开一个新的任务)的有关问题
[转]http://www.myexception.cn/program/1964906.html 解决VirtualBox下安装虚拟机(Ubuntu)出错(不能为虚拟电脑Ubuntu打开一个新的任务 ...
- time.setToNow() 取当前时间,月份有误
[java] view plaincopy Time time = new Time("GMT+8"); time.setToNow(); int year = time.ye ...
- redhat在线安装chrome浏览器
开始的时候是参考吹尽黄沙始到金的文章http://www.cnblogs.com/effective/archive/2012/03/18/2405189.html 1.创建一个文件/etc/yum. ...
- 笔记整理——linux
linux文件目录介绍 (2015/4/30 19:20:28) /proc 目录中的主要文件的说明 文件或目录名称 描 述 apm 高级电源管理信息 cmdline 这个文 ...
- Angular - - ngIf、ngSwitch、ngHide/ngShow
在组合这些ng指令写到一篇文章里的时候,基本是有规则的,野兽把功能相似相近的一类大多会组合到一起,方便理解和记忆. 这篇的三个指令也都是对DOM元素的操作,页面上显示/隐藏的判断,添加/移除的判断. ...
- 网页代码DIV+CSS布局积累
11.17 CSS英文命名在写CSS的时候,经常为一些名字而发愁,比如说菜单后面的背景要用什么词来表示呢?大家都知道,菜单一般用menu来表示,那么菜单后面的背景我会用menubg,CSS里就写#me ...
- --@angularJS--ng-show应用
本篇给出ng-show的示例代码,以供参考. 1.NgShow.html: <!doctype html><html ng-app="MyCSSModule"&g ...
- Viso设置背景
文件 > 形状 > 其它Visio方案 > 背景
- 手机APP测试思路及测试要点
一 手机APP测试基本思路: 测试计划--测试方案--测试用例--执行: 很多小公司都没有具体的需求,项目时间也比较紧,而且流程也不是很严谨,在这样的情况之下,作为测试的我们,该怎样去对项目进行用例 ...