码迷,mamicode.com
首页 > 系统相关 > 详细

shell_log1

时间:2016-07-21 14:54:27      阅读:228      评论:0      收藏:0      [点我收藏+]

标签:

51cto课程学习整理  http://edu.51cto.com/course/course_id-963.html

#!/usr/bin/expect                            //非交互式

env 或者 set                                                     //查看用户环境变量

source 或者 . 执行脚本能把子shell变量传给父shell

脚本规范

1) #!/bin/bash

  #Date:     2016-1-1

  #Author:    Created by mayuansheng

  #Mail:     xxx.@163.com

  #Function:   This script function is ...

  #Version:   1.1

2)不使用中文

3)以.sh为扩展名

4)括号成对出现

5)流程控制一次写完

  if[];then

  fi

6)缩进

环境变量四个位置: .bashrc  .bash_profile  /etc/profile  /etc/profile.d/

设置环境变量

  1)export variable = value

  2)variable = value ; export variable

  3)declare -x variable = value

unset variable        //取消变量

$?返回值

  1)0  成功,非0失败

  2)2  权限拒绝

  3)1~125  脚本命令、系统命令或参数传递错误

  4)126  找到该命令,但是无法执行

  5)127  未找到要运行的命令

  6)>128  命令被系统强制结束

$0    //当前脚本 文件名

$$  echo "$$" >m.pid  //当前shell脚本进程号(PID)

$*  //所有参数

$#  //参数总个数

$!  //执行上一个指令的PID

$@  //这个程序的所有参数

$_  //最后一个参数

$*和$@区别

  $*  "$1$2$3"  一个字符串

  $@  "$1" "$2" "$3" 单独字符串

shift  降变量  $2 -> $1  $3 -> $2 ...

字符串截取

  # 前端匹配删除 m = mayuansheng666asd     ${m#ma}  => yuansheng666asd

  % 后端匹配删除  m = mayuansheng666asd  ${m%asd}   =>mayuansheng666

数值计算

  1)echo $((1+2))

  2)let veriable = 1+2;echo $variable

  3)expr 1"空格"+"空格"2

  4)bc  //计算器

  5)echo $[1+2]

查看字符串长度 

  m = mayuansheng666asd 

  1)echo ${#m}

  2)echo $(expr length "$m")

1+2+...+100  seq -s "+" 100 | bc  //  -s 指定分隔符

[]用 -a

[[]]用 &&

. /etc/init.d/functions    //加载函数库  "点"后有空格

  action "nginx is stopped" /bin/true

nmap ip地址 -p 111 | grep open | wc -l    //测试网站,其结果可以用来比较进行判断

输出字体有颜色

  30-37

  1) echo -e "\033[30m  black  \033[0m"

  2) echo -e "\E[1;31m  red  \E[0m"

while 读文件三种方式

  1)exec < FILE           

   while read line 

   do 

   done

  2)cat FILE_PATH | while read line

   do

   done

  3)while read line

   do

   done<FILE

seq -w 10  //输出01 02 03..10  补0对齐

 数组

  1)array = (value1 value2 value3...)

  echo ${array[*]}  

  echo ${#array[*]}

  2)array = ([1]=one [2]=two [3]=three)

  3)array[0] = a  array[1] = b

sh (-nvx) script.sh    //脚本调试

ping -c2 10.0.0.$n  > /dev/null 2>&1    //判断ip在线

awk ‘{print $1}‘ access.log | grep -v "^$" | sort | uniq -c    //用于日志判断用户尝试登陆次数

iptables -I INPUT -s ip地址 -j DROP    //-I 在第一行封杀

 

shell_log1

标签:

原文地址:http://www.cnblogs.com/mayuansheng/p/5691155.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!