美文网首页shell
14- Shell脚本基础(二) 参数接收、条件判断 等

14- Shell脚本基础(二) 参数接收、条件判断 等

作者: 熙熙爸爸 | 来源:发表于2017-09-11 17:11 被阅读0次

脚本内接收参数

$0 为默认参数,表示运行shell的文件名称
$1 传入的第一个参数
。。。
$n

#!/bin/bash
echo "Shell 传递参数实例!";
echo "执行的文件名:$0";
echo "第一个参数为:$1";
echo "第二个参数为:$2";
echo "第三个参数为:$3";
echo "参数个数为$#"
echo "所有参数$@"
echo "所有参数$*"
echo "进程号$$"
out

关系运算符

关系运算符
#!/bin/bash

a=10
b=20

if [ $a -eq $b ]
then
   echo "$a -eq $b : a 等于 b"
else
   echo "$a -eq $b: a 不等于 b"
fi
if [ $a -ne $b ]
then
   echo "$a -ne $b: a 不等于 b"
else
   echo "$a -ne $b : a 等于 b"
fi
if [ $a -gt $b ]
then
   echo "$a -gt $b: a 大于 b"
else
   echo "$a -gt $b: a 不大于 b"
fi
if [ $a -lt $b ]
then
   echo "$a -lt $b: a 小于 b"
else
   echo "$a -lt $b: a 不小于 b"
fi
if [ $a -ge $b ]
then
   echo "$a -ge $b: a 大于或等于 b"
else
   echo "$a -ge $b: a 小于 b"
fi
if [ $a -le $b ]
then
   echo "$a -le $b: a 小于或等于 b"
else
   echo "$a -le $b: a 大于 b"
fi

Boolean运算符

boolean运算符
#!/bin/bash

a=10
b=20

if [ $a != $b ]
then
   echo "$a != $b : a 不等于 b"
else
   echo "$a != $b: a 等于 b"
fi
if [ $a -lt 100 -a $b -gt 15 ]
then
   echo "$a 小于 100 且 $b 大于 15 : 返回 true"
else
   echo "$a 小于 100 且 $b 大于 15 : 返回 false"
fi
if [ $a -lt 100 -o $b -gt 100 ]
then
   echo "$a 小于 100 或 $b 大于 100 : 返回 true"
else
   echo "$a 小于 100 或 $b 大于 100 : 返回 false"
fi
if [ $a -lt 5 -o $b -gt 100 ]
then
   echo "$a 小于 5 或 $b 大于 100 : 返回 true"
else
   echo "$a 小于 5 或 $b 大于 100 : 返回 false"
fi

逻辑运算符

用法和 boolean运算符一样


逻辑运算符

字符串运算符

字符串
read -p "please input your name: " name
read -p "please input your nick: " nick
if [ "$name" = "zhouyang" ];
then
    echo "Your Grace"
else
    echo -e "Your name is ${name} your nick is ${nick}"     
fi
注意的几点:
  1. if和[ ]之间要空格。

  2. [ ]和“ ”之间要空格

  3. “ ”和=之间要空格,

否则都会报错

文件运算符

文件
#!/bin/bash

file="/var/www/runoob/test.sh"
if [ -r $file ]
then
   echo "文件可读"
else
   echo "文件不可读"
fi
if [ -w $file ]
then
   echo "文件可写"
else
   echo "文件不可写"
fi

shell运算符详细
包括但不限于 检查文件属性(是否可读,文件类型等)

获取键盘输入

使用read命令,获取键盘输入

read -p "please input name : " name
echo $name

Shell条件判断

if test[]

条件判断

要注意,shell的判断格式有些特殊

num1=100
num2=100
if test $[num1] -eq $[num2]
then
    echo '两个数相等!'
else
    echo '两个数不相等!'
fi

相关文章

网友评论

    本文标题:14- Shell脚本基础(二) 参数接收、条件判断 等

    本文链接:https://www.haomeiwen.com/subject/sokfsxtx.html