if then else fi
1 #!/bin/bash
2 ping -c 5 -i 0.2 -W 3 $1 &> ./result.text
3 if [ $? -eq 0 ]
4 then
5 echo "Host $1 is On-line."
6 else
7 echo "Host $1 is Off-lin."
8 fi
1 if [ -d /etc/fstab ]; then
2 echo "/etc/fstab is a directory."
3 else
4 echo "/etc/fstab is not a directory."
5 fi
6
if then elif then else fi
查询成绩等级
1 #! /bin/bash
2 read -p "enter your score (0-100):" GRADE
3 if [ $GRADE -ge 85 ] && [ $GRADE -le 100 ];then
4 echo "$GRADE is Excellent"
5 elif [ $GRADE -ge 70 ] && [ $GRADE -le 85 ];then
6 echo "$GRADE is pass"
7 else
8 echo "$GRADE is fail"
9 fi
for循环
为用户创建密码
#!/bin/bash
# 提示用户输入一个默认密码,并存储在变量 PASSWD 中
read -p "Enter the default password for new users: " PASSWD
# 循环遍历 users.txt 文件中列出的用户名
# 每次迭代将当前用户名存储在变量 UNAME 中
for UNAME in $(cat users.txt)
do
# 使用 id 命令检查用户是否已存在
id $UNAME &> /dev/null
# 检查上一条命令的退出状态码,如果为 0,表示用户已存在
if [ $? -eq 0 ]
then
# 如果用户已存在,则输出相应的消息
echo "$UNAME already exists."
else
# 如果用户不存在,则创建新用户
useradd $UNAME
# 使用管道将密码传递给 passwd 命令,并设置为新用户的密码
echo "$PASSWD" | passwd --stdin $UNAME &> /dev/null
# 输出成功创建用户的消息,包括用户名和密码
echo "$UNAME created successfully with password: $PASSWD"
fi
done
while
#!/bin/bash
# 生成一个随机数作为物品价格,范围在 0-999 之间
PRICE=$((RANDOM % 1000))
# TIMES 变量用于记录猜测的次数,初始值为 0
TIMES=0
echo "Guess the item price (0-999)"
# 无限循环直到猜对为止
while true
do
# 提示用户输入猜测的价格,并将其存储在变量 INT 中
read -p "Enter your guess price: " INT
# 每次猜测后,将 TIMES 变量的值加 1
let TIMES++
# 检查猜测的价格和物品价格是否相等
if [ "$INT" -eq "$PRICE" ]; then
echo "Bingo! You guessed it right."
# 输出猜测的次数
echo "Total guesses: $TIMES"
# 跳出循环
break
elif [ "$INT" -gt "$PRICE" ]; then
echo "Too high. Try again."
else
echo "Too low. Try again."
fi
done
case
#!/bin/bash
# 提示用户输入一个字符,并将其存储在变量 key 中
read -p "Enter a character: " key
# 使用 case 语句根据用户输入进行匹配
case "$key" in
# 如果用户输入的是字母(包括大小写)
[a-z] | [A-Z])
echo "The entered character is a letter: $key"
;;
# 如果用户输入的是数字
[0-9])
echo "The entered character is a number: $key"
;;
# 如果用户输入的不是字母也不是数字
*)
echo "Input error: Invalid character"
esac
20231009