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 ...
随机推荐
- leetcode--014 Gas station
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAABGoAAADsCAIAAACjc9eHAAAgAElEQVR4nO3dTa7bRt4v4HczXoH2kS
- make的参数
转载自 陈皓<跟我一起写 Makefile> 下面列举了所有GNU make 3.80版的参数定义.其它版本和产商的make大同小异,不过其它产商的make的具体参数还是请参考各自的产品文 ...
- javap -s 查看java方法签名
工程先用eclipse生成class目录,转到class目录下执行: javap -s com.example.hellojni.MainActivity Compiled from "Ma ...
- IOS开发中UIAlertController(警告框)的使用
步骤一.初始化: UIAlertController * inputname = [UIAlertController alertControllerWithTitle:@"未输入账户&qu ...
- make执行过程
转载自 陈皓<跟我一起写 Makefile> 一般来说,最简单的就是直接在命令行下输入make命令,make命令会找当前目录的makefile来执行,一切都是自动的.但也有时你也许只想让m ...
- Object修改链表
以前学习过链表的时候由于类型的接收不同,每次要重写链表 下面修改可用链表 class Link{ private class Node{ private Object data ; private N ...
- Oracle的一些命令
sqlldr: 一般用于导入以任何后缀结束的文件,我这次就是因为要导入一张以.20160101为后缀的文件,当初简直束手无策 结合input.ctl使用,可以在DOS下使用,可以对一张表导入数十万,百 ...
- PHP导出MYSQL数据库并压缩
PHP可以一键导出MYSQL备份文件,并压缩存放,尽管phpMyAdmin有这功能,不过若你自己开发网站或者是为别人写CMS,你不应该要求别人用你程序的时候再去另外用phpMyAdmin备份MYSQL ...
- Javascript正则表达式完全学习手册
正则表达式看起来很吓人,不容易让人亲近,但它的确很好用,可以很大程度上提高你的开发效率.本文从零开始介绍了应如何学习正则表达式.文中范例主要为JavaScript. 正则表达式可以很恐怖,真得很恐怖. ...
- java_web学习(2)Servlet
软件编程体系 B\S 系统架构与C\S 系统结构 Web服务器 HTTP 协议:Web 浏览器与 web 服务器的交互所遵循的规则. Web 服务器:Web服务器可以解 ...