Shell基础-1
Tutorial: Shell基础
Category: Shell
Published: 2026-04-07 13:58:25
Views: 30
Likes: 1
Comments: 0
基础-1
- 使用位置变量创建用户配置密码
#!/bin/bash
<<EOF
$1 是执行脚本的第一个参数
$2 是执行脚本的第二个参数
EOF
useradd "$1"
echo "$2" | passwd --stdin "$2"
- 定时日志备份
#!/bin/bash
SRC_FILE=/mnt/bak_log.sh
cat >$SRC_FILE <<EOF
tar -czf log-$(date +%F).tar.gz /var/log
EOF
chmod u+x $SRC_FILE
cat >/var/spool/cron/${USER} <<EOF
00 06 * * 5 $SRC_FILE
EOF
- 关闭回显
#!/bin/bash
read -p "请输入用户名: " user
if [ -z $user ]; then
echo "您必需输入账户名"
exit 2
fi
stty -echo
read -p "请输入密码: " pass
stty echo
pass=${pass:-123456}
useradd "$user"
echo "$pass" | passwd --stdin "$user"
- 随机数
#!/bin/bash
num=$((RANDOM % 100 + 1))
while :; do
read -p "计算机生成了一个 1-100 的随机数,你猜: " num
if [ $num -eq $num ]; then
echo "恭喜,猜对了"
exit
elif [ $num -gt $num ]; then
echo "Oops,猜大了"
else
echo "Oops,猜小了"
fi
done
- case 用法
#!/bin/bash
read -p "请输入一个整数:" num1
read -p "请输入一个整数:" num2
read -p "请输入一个整数:" num3
tmp=0
if [ $num1 -gt $num2 ]; then
tmp=$num1
num1=$num2
num2=$tmp
fi
if [ $num1 -gt $num3 ]; then
tmp=$num1
num1=$num3
num3=$tmp
fi
if [ $num2 -gt $num3 ]; then
tmp=$num2
num2=$num3
num3=$tmp
fi
echo "排序后数据为:$num1,$num2,$num3"