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. scrapy+Lucene搭建小型搜索引擎

    Reference: http://blog.csdn.net/napoay/article/details/51477586 一.选题 工程类搜索型: 定向采集 3-4 个新闻网站, 实现这些网站信 ...

  2. Java-设计模式-单例模式-饿汉模式、懒汉模式

    //-------------------------------------------------------------饿汉模式--开始----------------------------- ...

  3. UVa 10346 - Peter's Smokes

    题目大意:Peter有n支烟,每k个剩下的烟头可以卷成一支新烟,问Peter能吸多少跟烟? 简单数学题. #include <cstdio> int main() { #ifdef LOC ...

  4. Java动态数组

    其中java动态数组: Java动态数组是一种可以任意伸缩数组长度的对象,在Java中比较常用的是ArrayList,ArrayList是javaAPI中自带的java.util.ArrayList. ...

  5. sae中thinkphp使用smarty

    因为最近在学thinkphp跟着做一个小商城. 没有使用thinkphp自带的think引擎,使用的是smarty引擎. 在sea中使用的时候出现了问题.已经是前几天的事了,问题图片没保存下来. 在网 ...

  6. windows中如何查看某个端口被谁占用

    说明:本人操作系统为win7 x64,文章转自http://jingyan.baidu.com/article/3c48dd34491d47e10be358b8.html,加上本人的注释. 开始--- ...

  7. Android中关闭应用的三种方式

    当应用不再使用的时候,通常需要关闭应用,我们可以使用三种方式关闭android应用: 第一种方式:首先获取当前进程的id,然后杀死该进程(推荐) android.os.Process.killProc ...

  8. log4net的分类型输出文件的配置

    <?xml version="1.0" encoding="utf-8" ?> <configuration> <configSe ...

  9. Canvas文本绘制

    文字绘制: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...

  10. Memcached在windows下的安装和使用

    1.下载memcached安装文件及c#开发所需的dll 2.解压<memcached-1.2.6-win32-bin.zip>,并cmd,定位到解压目录. 3.安装服务:输入命令 mem ...