
shell
snihcel
这个作者很懒,什么都没留下…
展开
-
利用shell脚本来监控linux系统的负载与CPU占用情况
这几天在学习研究shell脚本,写的一些系统负载与CPU监控脚本程序。在没有nagios监控软件的情况下,只要服务器能上互联网,就可通过发邮件的方式来提醒管理员系统负载与CPU占用的使用情况。一、安装linux下面的一个邮件客户端msmtp软件(类似于一个foxmail的工具)1、下载安装: http://downloads.sourceforge.net/msmtp/msmtp-1.4.转载 2014-10-07 23:34:50 · 842 阅读 · 0 评论 -
shell中的条件判断、参数以及变量替换
一、test命令 test命令是shell内部命令,它计算作为其参数的表达式是真还是假。 如果表达式为真,则test返回0(注意与C语言0表示false不同),如果表达式为假,返回非0。 shell提供了另外一个调用test命令的方式,就是用方括号[]来代替单词test。 调用test命令的格式为: test expr1 opr expr2 或是 [ expr1转载 2014-09-30 00:36:16 · 649 阅读 · 0 评论 -
如何判断命令行的参数是不是一个数字?
如何判断命令行的参数是不是一个数字?$cat _chk#!/bin/ksh#var=$(echo $1|bc 2>/dev/null)if [[ $var != $1 ]] then echo "$1 isn't a number!" exit 1fiif echo $1|grep "\." >/de转载 2014-09-30 00:40:43 · 1539 阅读 · 0 评论 -
Linux shell你所不知道的$($*和$@)
在$的相关的特殊符号中,有以下的几种需要注意的区别1)* 和 @在shell中虽然都是展开位置参数可以用$@和$*,但是两种有很大的差别,特别是在双引号的扩展下,比如(a)for i in $*; do echo "--$i"done(b)转载 2014-09-30 18:30:02 · 636 阅读 · 0 评论 -
Linux Shell高级技巧(二)
七、非直接引用变量: 在Shell中提供了三种为标准(直接)变量赋值的方式: 1. 直接赋值。 2. 存储一个命令的输出。 3. 存储某类型计算的结果。 然而这三种方式都是给已知变量名的变量赋值,如name=Stephen。但是在有些情况下,变量名本身就是动态的,需要依照运行的结果来构造变量名,之后才是为该变量赋值。这种变量转载 2014-09-30 19:01:35 · 580 阅读 · 0 评论 -
Linux Shell高级技巧(一)
该系列将重点介绍Linux Shell中的高级使用技巧,其主要面向有一定经验的Shell开发者、Linux系统管理员,以及Linux的爱好者。博客中的示例主要来源于网络和一些经典书籍,在经过本人的收集和整理之后,以系列博客的形式呈现给诸位。如果大家有更多更好的Shell脚本经典示例,且愿意在这里与我们一同分享的话,可以以邮件、博客回复等形式与我联系,我将会尽量保证该系列的持续更新。一、将输转载 2014-09-30 19:02:23 · 606 阅读 · 0 评论 -
awk按照多个分隔符进行分割
我们知道awk可以进行类似于cut之类的操作,如一个文件data如下zhc-123|zhanghongchangfirst-99|zhanghongchang-100|zhang如果我们awk -F ‘-’ ‘{print $1;}’ data会打印出zhchongchangfirsthongchang转载 2014-10-11 21:45:13 · 1271 阅读 · 0 评论 -
shell中if做比较
比较两个字符串是否相等的办法是:if [ "$test"x = "test"x ]; then这里的关键有几点:1 使用单个等号2 注意到等号两边各有一个空格:这是unix shell的要求3 注意到"$test"x最后的x,这是特意安排的,因为当$test为空的时候,上面的表达式就变成了x = testx,显然是不相等的。而如果没有这个x,表达式就会报错:转载 2014-10-10 23:54:07 · 1050 阅读 · 0 评论 -
date命令的帮助信息
date命令的帮助信息[root@localhost source]# date --help用法:date [选项]... [+格式] 或:date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]以给定的格式显示当前时间,或是设置系统日期。-d,--date=字符串 显示指定字符串所描述的时间,而非当前时间-f,--fil转载 2014-10-11 00:05:36 · 788 阅读 · 0 评论 -
linux shell substr(分割字符串)
原来在shell中如果遇到要截取字符串的情况,就调用awk中的substr来实现。今天了解到一种新的方法,原来shell中本身就支持这种用法。如,有一字符串”12345678″,现在要截取第三个到第六个字符的字符串区间。则可以:[xok.la ~]$ export str="123456789"[xok.la ~]$ echo ${str:3:(6-3)}456[x转载 2014-10-08 23:52:40 · 36865 阅读 · 0 评论 -
[Shell]判断目录读写权限
学习shell小练习判断/tmp/lzz 这个目录是否有读写权限,如果没有则添加权限#!/bin/bash#name: testdir.sh#authro: orangleliu#date: 2014-08-03#version: v1.0#===================TestDir="/tmp/lzz"#===================转载 2014-10-08 23:39:34 · 2609 阅读 · 0 评论 -
Redhat linux 系统的负载与CPU、内存、硬盘、用户数监控shell脚本
【分享】利用shell脚本来监控linux系统的负载、CPU、内存、硬盘、用户登录数这几天在学习研究shell脚本,写的一些系统负载、CPU、内存、硬盘、用户数监控脚本程序。在没有nagios监控的情况下,只要服务器能上互联网,就可通过发邮件的方式来提醒管理员系统资源的使用情况。一、编写linux系统告警邮件脚本# vim /scripts/sys-warning.sh#!/b转载 2014-10-08 00:03:58 · 739 阅读 · 0 评论 -
Shell for&while 循环详细总结
#!/usr/bin/ksh#数字段形式for i in {1..10}do echo $idone#详细列出(字符且项数不多)for File in 1 2 3 4 5 do echo $File done#对存在的文件进行循环for shname in `ls *.sh`do name=`ech转载 2014-10-07 23:35:30 · 587 阅读 · 0 评论 -
Shell 显示带颜色字体
格式: echo "/033[字背景颜色;字体颜色m字符串/033[控制码"如果单纯显示字体颜色可以固定控制码位0m。格式: echo "/033[字背景颜色;字体颜色m字符串/033[0m"字背景颜色范围:40 - 4940:黑 41:深红 42:绿 43:黄色 44:蓝色 45:紫色 46:深绿 47:白色 字颜色:30 -转载 2014-10-07 23:44:35 · 635 阅读 · 0 评论 -
利用shell脚本来监控linux系统的内存
这几天在学习研究shell脚本,写的一些内存监控脚本程序。在没有nagios监控软件的情况下,只要服务器能上互联网,就可通过发邮件的方式来提醒管理员系统内存的使用情况。一、安装linux下面的一个邮件客户端msmtp软件(类似于一个foxmail的工具)1、下载安装: http://downloads.sourceforge.net/msmtp/msmtp-1.4.16.tar.bz2?m转载 2014-10-08 00:03:01 · 1251 阅读 · 0 评论 -
Shell编程-文件读取方法集锦
1 ,在这里总结一下Shell读取文件的方法[plain] view plaincopya), #使用read命令读取一行数据 while read myline do echo "LINE:"$myline done b), #使用read命令读取一行数据 cat datafile.tx转载 2014-09-30 02:38:45 · 621 阅读 · 0 评论 -
判断Shell程序输入参数的个数
if [ $# != 1 ] ; then echo "USAGE: $0 TABNAME" echo " e.g.: $0 CDR_CALL_20040701" exit 1; fi 位置参数 $1, $2,..., $N,$#代表了命令行的参数数量, $0代表了脚本的名字 -ne 不等于 ----------------------- shell转载 2014-09-30 00:34:32 · 1027 阅读 · 0 评论 -
shell脚本中的参数判断
最近在看ABS这本神作。分享一下今天学到的东西。需求:在练习最大公约数这个脚本的时候,需要判断输入的参数一定是整数,其他情况则正常退出。实现:用求最大公约数这个例子来实现。代码如下:#!/bin/bash# gcd.sh: 求最大公约数# date: 2011.08.10# modified: Nigel_Zeng# license:转载 2014-09-30 00:37:00 · 1049 阅读 · 0 评论 -
shell中for循环总结
关于shell中的for循环用法很多,一直想总结一下,今天网上看到上一篇关于for循环用法的总结,感觉很全面,所以就转过来研究研究,嘿嘿...1、 for((i=1;i2、在shell中常用的是 for i in $(seq 10)3、for i in `ls`4、for i in ${arr[@]}5、for i in $* ; do6、for File in /proc转载 2014-09-30 01:32:27 · 616 阅读 · 0 评论 -
用 uniq 除去重复行(Shell技巧1)
用uniq除去重复行(转载IBM developerWorks 中国) 重复行通常不会造成问题,但是有时候它们的确会引起问题。此时,不必花上一个下午的时间来为它们编制过滤器,uniq 命令便是唾手可得的好工具。了解一下它是如何节省您的时间和精力的。进行排序之后,您会发现有些行是重复的。有时候该重复信息是不需要的,可以将它除去以节省磁盘空间。不必对文本行进行排序,但是您应当记住 uniq 在转载 2014-10-11 00:50:09 · 2554 阅读 · 0 评论