if语句
CONDITION:
bash命令:
用命令的执行状态结果:
成功:true
失败:false
成功或失败的意义:取决于用到的命令
单分支:
if CONDITION;then
if-true
fi
双分支:
if CONDITION;then
if-true
else
if-false
fi
多分支:
if CONDITION;then
if-true
elif CONDITION2;then
if-true
elif CONDITION3;then
if-true
……
else
all-false
fi
循环:for
for循环:
for 变量名 in 列表 ; do
循环体
done
执行机制:
依次将列表中的元素赋值给“变量名”
示例:添加10个用户,user1-user10,密码同用户名
#!/bin/bash
#
if [ !$UID - eq 0 ]; then
echo "Only root"
exit 1
fi
for i in {1...10}; do
if id user$i & > /dev/null; then
echo "user$i exists"
else
useradd user$i
if [$? - eq 0 ]; then
echo "user$i" | passwd --stdin user$i &> /dev/null
echo "Add user$i finished"
fi
fi
done
列表的生成方式:
(1)直接给出列表
(2)整数列表
{start..end}
$(seq [start [step ] ] end)
(3)返回列表的命令
(4)glob
(5)变量引用
$@,$*
示例:判断某路径下的所有文件类型
#! /bin/bash
#
for file in $(ls /var); do
if [ -f /vvar/$file ]; then
echo "Common file"
elif [ -L /var/$file ]; then
echo "Symbolic file"
elif [ -d /var/$file ]; then
echo "Directory"
else
echo "Other type"
fi
done