if語句bash
CONDITION:it
bash命令:for循環
用命令的執行狀態結果:變量
成功:truefile
失敗:false循環
成功或失敗的意義:取決於用到的命令引用
單分支:密碼
if CONDITION;thendi
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