1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
| #!/bin/bash
if [ `id -u` -ne 0 ]; then echo "请使用sudo或作为root用户运行此脚本以执行必要的操作。" exit 1 fi
read -p "请输入交换文件大小(例如16G): " swap_size
if [[ ! $swap_size =~ ^[0-9]+[Gg]$ ]]; then echo "无效的输入格式,请使用格式如'16G'表示大小。" exit 1 fi
read -p "将创建大小为 $swap_size 的交换文件,是否继续?(y/n): " confirm
if [[ ! $confirm =~ ^[Yy]$ ]]; then echo "操作已取消." exit 1 fi
swap_size=$(( ${swap_size%G} * 1024 ))
dd if=/dev/zero of=/swapfile bs=1M count=${swap_size} status=progress
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
echo '/swapfile none swap defaults 0 0' | sudo tee -a /etc/fstab
echo "交换文件创建成功并已启用,而且追加到/etc/fstab内。"
|