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的更多相关文章

  1. 转 shell脚本学习指南

    shell脚本学习指南 以下八点不敢说就能成为你shell脚本学习指南de全部,至少可以让你编写出可靠的shell脚本. 1. 指定bashshell 脚本的第一行,#!之后应该是什么?如果拿这个问题 ...

  2. Shell脚本学习 - 运算符

    继续shell脚本学习.上一篇是基本数据类型和语法的总结,这一篇是运算相关的操作. 运算符 bash不支持简单的数学计算,需要依赖其他命令实现. expr可以代为实现. # 表达式一般这么写 ` + ...

  3. 笔记——shell脚本学习指南

    <shell脚本学习指南>机械工业出版 ISBN 987-7-111-25504-8 第2章 2.4 初级陷阱 1.当今的系统,对#!这一行的长度限制从63到1024个字符都有,尽量不要超 ...

  4. Shell 脚本学习资料搜集

    Shell文档 ChinaUnix上大神“網中人”总结的Shell十三问,强烈推荐,这本书讲得比较精炼,而且都是一些Shell学习中容易把握不住的一些细节难点.每一问都写得非常精彩.ChinaUnix ...

  5. 学习笔记之Shell脚本学习指南 & sed与awk & 正则表达式

    正则表达式_百度百科 http://baike.baidu.com/link?url=ybgDrN2WQQKN64_gu-diCqdeDqL8LQ-jiQ-ftzzPaNUa9CmgBRDNnyx50 ...

  6. Shell脚本学习 - 流程控制和函数

    继续Shell的学习.上两篇是关于基本数据类型,基本语法以及运算符相关,这一篇是流程控制相关(if, for, while) 流程控制 if else 流程控制不可为空,如果else没有语句执行,就不 ...

  7. Linux shell 菜鸟学习笔记....

    20171123 Linux shell 基础学习笔记1. shell 的开始 一般是 #!/bin/bash 通过 #! 来唯一指定使用的shell路径 其他的 # 都表示注释.2. shell 的 ...

  8. Linux 下shell 编程学习脚手架

    linux body { font-family: Helvetica, arial, sans-serif; font-size: 14px; line-height: 1.6; padding-t ...

  9. Linux 下Shell的学习

    1.Shell学习 1.什么是Shell    shell是一个命令解析器,在操作系统的最外层,负责和用户对话,将用户的输入解释给操作系统,并处理各种各样的操作系统的输出结果.2.什么是shell脚本 ...

  10. shell脚本学习总结02--数组

    bash同时支持普通数组个关联数组,普通数组只能使用整数作为数组的索引,关联数组可以使用字符串作为数组的索引. 数组的定义方法: 在单行中使用一列值定义一个数组 [root@new ~]# array ...

随机推荐

  1. UILabel自适应高度

    在网上看了一些,发现很多关于自适应高度的,不能用,就在下面写一种我常用的吧!保证可以直接粘贴复制到Xcode中运行. UILabel *label = [[UILabel alloc] init]; ...

  2. 51nod1126(矩阵快速幂)

    题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1126 题意:中文题诶- 思路:构造矩阵: ( 0, 1 )^ ...

  3. 英文版Ubuntu安装配置搜狗拼音输入法

    下载搜狗输入法 1 进入搜狗输入法官网,进入上面导航兰的 "输入法Linux版"   2 根据你安装的ubuntu是32位还是64位下载 END ubuntu安装搜狗输入法 1 进 ...

  4. [原]崩溃在ole32!CStdMarshal::DisconnectSrvIPIDs

    最近项目里遇到一个崩溃,不定期出现,很是头疼!今晚终于忍无可忍,下决心要干掉它!(于是用凉水洗了把脸,开始分析dump)希望凌晨的这篇总结对有相似经历的朋友有所启发!(看之前相关的几个dump可以猜到 ...

  5. 【蓝牙数据采集模块】-02-Sensor Controller 编写CC2650STK外设驱动

    上次说到把所有的传感器模块在Sensor Controller中实现读写,并封装驱动. 先来看一下CC2650STK的原理图 用红色方框标记的DIO_0~DIO_7, DIO_23~DIO_30是可以 ...

  6. 职业定位(移动端、ios开发、Android开发)

    移动端 移动端webapp开发必备知识:http://www.chinaz.com/manage/2012/1128/283974.shtml 设计一款好的移动App,有哪些基本规则?http://w ...

  7. C# 启动停止SQLServer数据库服务器

    C#启动停止SQL数据库服务方法之一: 在命令行里填写命令:net start/stop mssqlserver C#启动停止SQL数据库服务方法之二: 通过C#代码实现: class Program ...

  8. jQuery disabled 元素

    http://www.jb51.net/article/19342.htm 在jquery中可以通过jqueryObj.attr("disabled","disabled ...

  9. [TPYBoard-Micropython之会python就能做硬件 3] 制作电子时钟

    转载请注明:@小五义 http://www.cnblogs.com/xiaowuyi 欢迎加入讨论群 64770604 一.本次实验所需器材 1.TPYboard V102板  一块 2.DS3231 ...

  10. XCode中设置字体大小

    XCode中设置字体大小 1)打开Preferences,快捷键是“Command + ,”(注意,是三个键,按住command键,然后再快速地按“+”和“,”两个键即可) 2)选择“Fonts &a ...