bash脚本
参数
-eq——等于(equal)
-ne——不等于(not equal)
-lt——小于(less than)
-le——小于等于(less equal)
-gt——大于(great than)
-ge——大于等于(great equal)
-f——文件(file)
-d——目录(directory)
(一)选择执行语句
单分支的if语句
if 测试条件;then
fi
双分支的if语句
if 测试条件;then
如果满足条件就执行这里的代码
else
如果不满足条件就执行这里的代码
fi
实例:通过参数传递一个用户名给脚本,此用户不存在。则添加,密码与用户名相同
#!/bin/bash
#description
#如果没有传递参数,直接退出
if [ $# -lt 1 ];
then
echo "please send argument" (也可以用中文代替--- 请输入一个用户)
exit 1
fi
if grep "^$1\>" /etc/passwd &>/dev/null;then
\> 为转译
echo "user $1 exists" (你创建的 $1 用户已经存在)
else
useradd $1
echo $1 | passwd --stdin $1 &>/dev/null
echo " add user $1" (新建一个用户 $1)
fi
示例二:通过参数传递一个用户名给脚本,此用户存在。则删除用户以及家目录和邮件目录
#!/bin/bash
#description
if [ $# -;t 1 ];then
echo "please shen a argument."
exit 1
fi
if id -u $! &> /dev/null;then
userdel -r $1
echo "delete user $!"
else
echo "user $1 dosen't exists"
fi
示例三:通过命令行参数给定两个数字,输出其中最大的数值
#!/bin/bash
#通过命令行参数给出两个数字,输出最大的数值
if [ $# -lt 2 ];then
echo " Please input two arguments."
exit 1
fi
if [ $1 -eq $2 ];then
echo "$1 equals to $2"
exit 1
fi
if [ $1 -gt $2 ];then
echo "The big one is $1 "
else
echo "The big one is $2"
fi
或用下面的方式也可以
#!/bin/bash
if [$# -lt 2 ];then
echo "Please input two argiments"
exit 1
fi
declare -i max=$1
if [$max -;t $2 ];then
max=$2
fi
echo "The big one is $max "