- 浏览: 122792 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (111)
- 资料总结参阅 (2)
- To Study List (2)
- notepaper (2)
- linux学习 (32)
- linux学习-included (3)
- 开源框架-Hibernate (2)
- 开源框架-Ibatis (1)
- JEE整理 (25)
- JEE Server参考 (5)
- 开源框架-Spring (1)
- 硬件知识 (5)
- 开发环境搭建及管理 (7)
- linux软件工具 (2)
- 数据库 (8)
- 各类文档参考 (1)
- 开源框架-Netty (1)
- 性能调优 (1)
- DP相关 (1)
- 软件知识 (3)
- 脚本语言-python (2)
- 脚本语言-perl (1)
- 分布式 (2)
最新评论
-
zhuxinhua:
谢谢,,这东西真不容易找啊。。
JBoss配置---收集中...
shell 编程中使用到得if语句内判断参数
–b 当file存在并且是块文件时返回真
-c 当file存在并且是字符文件时返回真
-d 当pathname存在并且是一个目录时返回真
-e 当pathname指定的文件或目录存在时返回真
-f 当file存在并且是正规文件时返回真
-g 当由pathname指定的文件或目录存在并且设置了SGID位时返回为真
-h 当file存在并且是符号链接文件时返回真,该选项在一些老系统上无效
-k 当由pathname指定的文件或目录存在并且设置了“粘滞”位时返回真
-p 当file存在并且是命令管道时返回为真
-r 当由pathname指定的文件或目录存在并且可读时返回为真
-s 当file存在文件大小大于0时返回真
-u 当由pathname指定的文件或目录存在并且设置了SUID位时返回真
-w 当由pathname指定的文件或目录存在并且可执行时返回真。一个目录为了它的内容被访问必然是可执行的。
-o 当由pathname指定的文件或目录存在并且被子当前进程的有效用户ID所指定的用户拥有时返回真。
UNIX Shell 里面比较字符写法:
-eq 等于
-ne 不等于
-gt 大于
-lt 小于
-le 小于等于
-ge 大于等于
-z 空串
= 两个字符相等
!= 两个字符不等
-n 非空串
-------------------------------------------------------------------------
更为详细的说明:
运算符 描述 示例
文件比较运算符
-e filename 如果 filename 存在,则为真 [ -e /var/log/syslog ]
-d filename 如果 filename 为目录,则为真 [ -d /tmp/mydir ]
-f filename 如果 filename 为常规文件,则为真 [ -f /usr/bin/grep ]
-L filename 如果 filename 为符号链接,则为真 [ -L /usr/bin/grep ]
-r filename 如果 filename 可读,则为真 [ -r /var/log/syslog ]
-w filename 如果 filename 可写,则为真 [ -w /var/mytmp.txt ]
-x filename 如果 filename 可执行,则为真 [ -L /usr/bin/grep ]
filename1 -nt filename2 如果 filename1 比 filename2 新,则为真 [ /tmp/install/etc/services -nt /etc/services ]
filename1 -ot filename2 如果 filename1 比 filename2 旧,则为真 [ /boot/bzImage -ot arch/i386/boot/bzImage ]
字符串比较运算符 (请注意引号的使用,这是防止空格扰乱代码的好方法)
-z string 如果 string 长度为零,则为真 [ -z $myvar ]
-n string 如果 string 长度非零,则为真 [ -n $myvar ]
string1 = string2 如果 string1 与 string2 相同,则为真 [ $myvar = one two three ]
string1 != string2 如果 string1 与 string2 不同,则为真 [ $myvar != one two three ]
算术比较运算符
num1 -eq num2 等于 [ 3 -eq $mynum ]
num1 -ne num2 不等于 [ 3 -ne $mynum ]
num1 -lt num2 小于 [ 3 -lt $mynum ]
num1 -le num2 小于或等于 [ 3 -le $mynum ]
num1 -gt num2 大于 [ 3 -gt $mynum ]
num1 -ge num2 大于或等于 [ 3 -ge $mynum ]
脚本示例:
#!/bin/bash
# This script prints a message about your weight if you give it your
# weight in kilos and hight in centimeters.
if [ ! $# == 2 ]; then
echo "Usage: $0 weight_in_kilos length_in_centimeters"
exit
fi
weight="$1"
height="$2"
idealweight=$[$height - 110]
if [ $weight -le $idealweight ] ; then
echo "You should eat a bit more fat."
else
echo "You should eat a bit more fruit."
fi
# weight.sh 70 150
You should eat a bit more fruit.
# weight.sh 70 150 33
Usage: ./weight.sh weight_in_kilos length_in_centimeters
位置参数 $1, $2,..., $N,$#代表了命令行的参数数量, $0代表了脚本的名字,
第一个参数代表$1,第二个参数代表$2,以此类推,参数数量的总数存在$#中,上面的例子显示了怎么改变脚本,如果参数少于或者多余2个来打印出一条消息。
执行,并查看情况。
# bash -x tijian.sh 60 170
+ weight=60
+ height=170
+ idealweight=60
+ '[' 60 -le 60 ']'
+ echo 'You should eat a bit more fat.'
You should eat a bit more fat.
其中-x用来检查脚本的执行情况。
–b 当file存在并且是块文件时返回真
-c 当file存在并且是字符文件时返回真
-d 当pathname存在并且是一个目录时返回真
-e 当pathname指定的文件或目录存在时返回真
-f 当file存在并且是正规文件时返回真
-g 当由pathname指定的文件或目录存在并且设置了SGID位时返回为真
-h 当file存在并且是符号链接文件时返回真,该选项在一些老系统上无效
-k 当由pathname指定的文件或目录存在并且设置了“粘滞”位时返回真
-p 当file存在并且是命令管道时返回为真
-r 当由pathname指定的文件或目录存在并且可读时返回为真
-s 当file存在文件大小大于0时返回真
-u 当由pathname指定的文件或目录存在并且设置了SUID位时返回真
-w 当由pathname指定的文件或目录存在并且可执行时返回真。一个目录为了它的内容被访问必然是可执行的。
-o 当由pathname指定的文件或目录存在并且被子当前进程的有效用户ID所指定的用户拥有时返回真。
UNIX Shell 里面比较字符写法:
-eq 等于
-ne 不等于
-gt 大于
-lt 小于
-le 小于等于
-ge 大于等于
-z 空串
= 两个字符相等
!= 两个字符不等
-n 非空串
-------------------------------------------------------------------------
更为详细的说明:
运算符 描述 示例
文件比较运算符
-e filename 如果 filename 存在,则为真 [ -e /var/log/syslog ]
-d filename 如果 filename 为目录,则为真 [ -d /tmp/mydir ]
-f filename 如果 filename 为常规文件,则为真 [ -f /usr/bin/grep ]
-L filename 如果 filename 为符号链接,则为真 [ -L /usr/bin/grep ]
-r filename 如果 filename 可读,则为真 [ -r /var/log/syslog ]
-w filename 如果 filename 可写,则为真 [ -w /var/mytmp.txt ]
-x filename 如果 filename 可执行,则为真 [ -L /usr/bin/grep ]
filename1 -nt filename2 如果 filename1 比 filename2 新,则为真 [ /tmp/install/etc/services -nt /etc/services ]
filename1 -ot filename2 如果 filename1 比 filename2 旧,则为真 [ /boot/bzImage -ot arch/i386/boot/bzImage ]
字符串比较运算符 (请注意引号的使用,这是防止空格扰乱代码的好方法)
-z string 如果 string 长度为零,则为真 [ -z $myvar ]
-n string 如果 string 长度非零,则为真 [ -n $myvar ]
string1 = string2 如果 string1 与 string2 相同,则为真 [ $myvar = one two three ]
string1 != string2 如果 string1 与 string2 不同,则为真 [ $myvar != one two three ]
算术比较运算符
num1 -eq num2 等于 [ 3 -eq $mynum ]
num1 -ne num2 不等于 [ 3 -ne $mynum ]
num1 -lt num2 小于 [ 3 -lt $mynum ]
num1 -le num2 小于或等于 [ 3 -le $mynum ]
num1 -gt num2 大于 [ 3 -gt $mynum ]
num1 -ge num2 大于或等于 [ 3 -ge $mynum ]
脚本示例:
#!/bin/bash
# This script prints a message about your weight if you give it your
# weight in kilos and hight in centimeters.
if [ ! $# == 2 ]; then
echo "Usage: $0 weight_in_kilos length_in_centimeters"
exit
fi
weight="$1"
height="$2"
idealweight=$[$height - 110]
if [ $weight -le $idealweight ] ; then
echo "You should eat a bit more fat."
else
echo "You should eat a bit more fruit."
fi
# weight.sh 70 150
You should eat a bit more fruit.
# weight.sh 70 150 33
Usage: ./weight.sh weight_in_kilos length_in_centimeters
位置参数 $1, $2,..., $N,$#代表了命令行的参数数量, $0代表了脚本的名字,
第一个参数代表$1,第二个参数代表$2,以此类推,参数数量的总数存在$#中,上面的例子显示了怎么改变脚本,如果参数少于或者多余2个来打印出一条消息。
执行,并查看情况。
# bash -x tijian.sh 60 170
+ weight=60
+ height=170
+ idealweight=60
+ '[' 60 -le 60 ']'
+ echo 'You should eat a bit more fat.'
You should eat a bit more fat.
其中-x用来检查脚本的执行情况。
发表评论
-
linux网络流量监控工具: iftop
2011-04-17 18:46 1030主页:http://www.ex-parrot.com ... -
建立NFS共享
2011-04-17 18:41 748服务端: 修改 /etc/exports,增加共享目录 /ex ... -
巧用Linux命令完成统计排序功能
2011-03-11 16:50 831前几天碰到一个问题: ... -
linux 程序运行前后台切换
2011-03-10 21:57 1169Shell支持作用控制,有 ... -
Socket基础知识(建立连接的三次握手,关闭连接的四次握手)
2011-01-27 15:46 7687refer to: http://www.cnitblog.c ... -
关于linux服务器出现大量的Time_WAIT socket连接问题
2011-01-26 18:07 2221修改linux系统/etc/sysctl.conf配置来解决这 ... -
通过修改Linux服务自动启动指定应用程序(涉及运行级别)
2011-01-24 10:16 881转自:http://www.cnblogs.com/inter ... -
【转载】配置开发支持高并发TCP连接的Linux应用程序全攻略
2010-12-15 23:46 838原文见:http://www.cppblog. ... -
命令收集(notepad)
2010-12-07 21:11 6921. grep cat app.log | grep 'ERR ... -
linux上面的sz,rz命令与ssh的配合
2010-09-10 14:16 718问题的提出: 一 ... -
apache动态加载module
2010-08-26 17:58 734From blog: http://fangrn.iteye. ... -
apt命令详解
2010-08-22 16:11 795常用的APT命令参数: apt-cache searc ... -
linux学习网址
2010-08-19 17:09 6231. http://lamp.linux.gov.cn -
jboss部署成为linux服务
2010-08-10 17:00 17831. 创建jboss用户 useradd -m jbos ... -
Shell学习
2010-08-10 14:14 7101. 如何清空一个文件 cat /dev/null &g ... -
关于网络
2010-08-05 10:41 6911. OSI七层协议 物理层,数据链路层,网络层, ... -
关于linux中环境变量的设置
2010-05-10 11:49 768at /etc/profile append the fol ... -
eclipse查看安装-dropins
2010-04-22 14:35 1515Eclipse 3.4插件安装方式 以前安 ... -
ftp命令详解
2010-04-21 16:46 958linux下ftp命令 FTP命令是Internet用户使用 ... -
find命令详解
2010-04-20 13:50 781作者:Sheryl Calish 简单 ...
相关推荐
linux shell编程指南linux shell编程指南linux shell编程指南linux shell编程指南linux shell编程指南linux shell编程指南linux shell编程指南linux shell编程指南linux shell编程指南linux shell编程指南linux ...
LinuxShell编程基础教程.pdf
linux Shell编程入门 实例讲解详解
本书由浅入深、循序渐进地详细讲解了LinuxShell编程的基本知识。这些基本知识包括Shell编程的基本知识、文本处理的工具和方法、正则表达式、Linux系统知识等。 本书旨在通过理清Linux Shell编程的脉络,从基本概念...
Linux Shell编程从入门到精通.张昊.pdf Linux Shell编程从入门到精通.张昊.pdf
第1章 Shell脚本编程概述 1 第2章 Linux文件系统和文本编辑器 12 第3章 正则表达式 43 第4章 sed命令和awk编程 64 第5章 文件的排序、合并和分割 105 第6章 变量和引用 133 第7章 退出、测试、判断及操作符 ...
linux 命令行、linux shell 编程知识!
linux Shell编程入门 实例讲解详解.doc
linux shell 编程 linux shell 编程
LinuxShell编程基础.pdf
3.Shell编程之IF条件语句各种案例演练.mp4 4.使用if条件语句编写MySQL备份脚本.mp4 5.Shell编程之LAMP一键安装脚本实战.mp4 6.For循环及实战批量远程命令脚本.mp4 7.While条件语句企业案例列表读取_0.mp4 8.Shell...
Linux Shell编程基础 1.调用shell 2.注释 3.执行shell脚本 4.接收用户输入并赋值给变量 5.Bash中的变量 1. 环境变量 1.1HOME 2.2LANG 3.3SHELL 4.4PATH 5.5PS1 6.6PS2 7.7只读环境变量 8.8永久修改环境变量 2. 位置...
Linux Shell编程基础 linux编程 shell编程 linux基础编程
linux shell编程手册,供初学都等学习使用!!!
linux Shell 编程视频,适合初学者
实战Linux Shell编程与服务器管理 自己做的书签
LINUX与UNIX SHELL编程指南
linux shell 编程实例开发 书的影印版