linux中shell脚本语法总结

一,case 语法

case $cmd in
cpu)    echo "cpu"
        ;;
mem)    echo "mem"
        ;;
device) echo "devices"
        ;;
CD-ROM) echo "CD-ROM"
        ;;
*)      echo "Your input command is invalid"
esac

二,while语法

例子一:

#!/bin/bash

i=1
sum=0

while ((i <= 100))
do
((sum += i))
((i++))
done
echo "The sum is: $sum"

例子二,如下,是tomcat启动脚本节选的shell脚本,其中$[]和$(())是一样的,都是进行数学运算的。支持+ - * / %(“加、减、乘、除、取模”)。但是注意,bash只能作整数运算,对于浮点数是当作字符串处理的。但必须在左括号的右侧和右括号的左侧各加一个空格,否则会报错。-h 用来判断$PRG文件是否存在并且是一个软链接

while [ -h "$PRG" ] ; do
  # 查看脚本信息
  ls=`ls -ld "$PRG"`
  # 获取真实脚本路径
  link=`expr "$ls" : '.*-> \(.*\)$'`
  # 是否是绝对路径
  if expr "$link" : '/.*' > /dev/null; then
    PRG="$link"
  else
    PRG=`dirname "$PRG"`/"$link"
  fi
done

 

三,if语法

if [ $grades -gt 100 ] || [ $grades -lt 0 ];then
echo "Please input the number range in 0 - 100"
fi
判断字符串
if [ str1=str2 ];then fi  ----当两个字符串相同时返回真
if [ str1!=str2 ];then fi ----当两个字符串不相等时返回真
if [ -n str1 ];then fi    ----当字符串的长度大于0时返回真 (判断变量是否有值)
if [ -z str1 ];then fi    ----当字符串的长度为0时返回真
判断数字
int1 -eq int2    --相等
int1 -ne int2    --不相等
int1 -gt int2    --大于
int1 -ge int2    --大于等于
int1 -lt int2    --小于
int1 -le int2    --小于等于
判断文件
-r file        --用户可读为真
-w file        --用户可写为真
-x file        --用户可执行为真
-f file        --文件存在且为正规文件为真
-d file        --如果是存在目录为真
-c file        --文件存在且为字符设备文件
-b file        --文件存在且为块设备文件
-s file        --文件大小为非0为真,可以判断文件是否为空
-e file        --如果文件存在为真
判断逻辑

-a     --与
-o     --或
!      --非

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值