学习记录17
bash腳本編程之六 使用腳本選項及組合條件測試
寫一個腳本:
1、添加10個用戶user1到user10,密碼同用戶名,但要求只有用戶不存在情況下才能添加
#!/bin/bash
#
for I in {1..10}; do
? ? ? ? if id user$I &> /dev/null;then
? ? ? ? ? echo "user$I exists."
? ? ? ? else
? ? ? ? ? useradd user$I
? ? ? ? ? echo user$I | passwd --stdin user$I &> /dev/null
? ? ? ? ? echo "add user user$I finished."
? ? ? ? fi ?
done
擴展:
接收一個參數:
add:添加用戶 user1..user10
del:刪除用戶 user1..user10
其他退出
#!/bin/bash
# ? ? ? ? ??
if ?[ $# -lt 1 ]; then
? ? ? ? echo "Usage: demo ARG"
? ? ? ? exit 7
fi ? ? ?
? ? ? ??
if [ $1 == '--add' ]; then
? ? ? ? for I in {1..10};do
? ? ? ? ? if id user$I &> /dev/null; then
? ? ? ? ? ? echo "user$I exists."
? ? ? ? ? else
? ? ? ? ? ? useradd user$I?
? ? ? ? ? ? echo user$I | passwd --stdin user$I &> /dev/null
? ? ? ? ? ? echo "add user user$I finished."
? ? ? ? ? fi
? ? ? ? done
elif [ $1 == '--del' ]; then
? ? ? ? for I in {1..10}; do
? ? ? ? ? if id user$I &> /dev/null; then
? ? ? ? ? ? userdel -r user$I
? ? ? ? ? ? echo "delete user$I finished."
? ? ? ? ? ?else
? ? ? ? ? ? echo "no user$I"
? ? ? ? ? ?fi
? ? ? ? done
else
? ? ? ? echo "unknow arg"
? ? ? ? exit 8
fi
?
模擬選項和參數(逗號隔開)添加用戶
?
#!/bin/bash
#
if [ $1 == '--add' ]; then
? for I in `echo $2 | sed 's/,/ /g'`;do
? ? if id $I &> /dev/null; then
? ? ? echo "$I exists."
? ? else
? ? ? useradd $I
? ? ? echo $I | passwd --stdin $I &> /dev/null
? ? ? echo "add $I finished."
? ? fi ?
? done
elif [ $1 == '--del' ]; then
? for I in `echo $2 | sed 's/,/ /g'`; do
? ? if id $I &> /dev/null; then
? ? ? userdel -r $I
? ? ? echo "delete $I finished."
? ? else
? ? ? echo "$I not exists."
? ? fi ?
? done
elif [ $1 == '--help' ]; then
? echo "Usage:demo.sh --add USER1,SUER2... | --del USER1,USER2... | --help"
else
? echo "unkonw options"
fi
?
組合測試條件
-a:與關系
-o:或關系
!:非關系
if [ $# -gt 1 -a $# -le 3 ]
if [ $# -gt 1 ] && [ $# -le 3 ]
#!/bin/bash
#
if [ $1 == 'q' -o $1 == 'Q' -o $1 == 'Quit' -o $1 == 'quit' ]; then
? echo "quiting..."
? exit 0
else
? echo "unknow arguement."
? exit 1
fi
轉載于:https://www.cnblogs.com/bgd140206127/p/6737850.html
總結
- 上一篇: java基础(六)多线程/设计模式
- 下一篇: OpenFileDialog对话框Fil