shell 变量赋值
1.read 进行赋值
read的脚本中示例语法
[root@localhost ~]# vim read-1.sh
[root@localhost ~]# cat read-1.sh
#! /bin/bash
read -p "请输入一个值" Var
echo "您输入的变量值为 $Var"
[root@localhost ~]# sh read-1.sh
请输入一个值oldboy
您输入的变量值为 oldboy
2.read简单备份场景
1.提示用户输入要备份的目录
2.告知用户要备份的目录是什么
3.备份目录
4.告知用户目录备份完成
[root@localhost ~]# vim read-2.sh
[root@localhost ~]# cat read-2.sh
#! /bin/bash
read -p "请输入您要备份的目录:" Dir
echo "您要备份的目录为:$Dir"
echo "正在备份$Dir"
echo "备份完成"
[root@localhost ~]# sh read-2.sh
请输入您要备份的目录:/scripts
您要备份的目录为:/scripts
正在备份/scripts
备份完成
3.测试用户输入的IP是否畅通
第一种方法:
[root@localhost ~]# vim read-3.sh
[root@localhost ~]# cat read-3.sh
#! /bin/bash
read -p '请输入您要进行测试的ip' Ip
ping -c1 -W1 $Ip &>/dev/null && echo "您输入的IP $Ip是通的" || echo "您输入的Ip $Ip是不通的"
[root@localhost ~]# vi read-3.sh
[root@localhost ~]# sh read-3.sh
请输入一个IP地址进行测试联通情况10.0.0.1
该IP地址10.0.0.1是不通畅的
[root@localhost ~]# sh read-3.sh
请输入一个IP地址进行测试联通情况192.168.15.101
该IP地址192.168.15.101是通畅的
第二种方法:
[root@localhost ~]# cat read-4.sh
#! /bin/bash
#1.提示用户输入一个IP地址
read -p '请输入一个IP地址进行测试联通情况' Ip
#2.根据用户输入的IP地址进行测试
ping -c1 -W1 $Ip &>/dev/null
#3.测试结果返回给用户
if [ $? -eq 0 ];then
echo '该IP地址是通畅的'
else
echo '该IP地址是不通畅的'
fi
[root@localhost ~]# sh read-4.sh
请输入一个IP地址进行测试联通情况10.0.0.1
该IP地址是不通畅的
[root@localhost ~]# sh read-4.sh
请输入一个IP地址进行测试联通情况192.168.15.101
该IP地址是通畅的
echo命令的特性(https://www.yisu.com/zixun/247802.html)
# 字颜色: 30--37
echo -e "\033[30m 黑颜色字 \033[0m"
echo -e "\033[31m 红颜色字 \033[0m"
echo -e "\033[32m 绿颜色字 \033[0m"
echo -e "\033[33m 黄颜色字 \033[0m"
echo -e "\033[34m 蓝颜色字 \033[0m"
echo -e "\033[35m 紫颜色字 \033[0m"
echo -e "\033[36m 天蓝颜色字 \033[0m"
echo -e "\033[37m 白颜色字 \033[0m"
# 字背景颜色范围:40—–47
echo -e "\033[40;37m 黑底白字 \033[0m"
echo -e "\033[41;37m 红底白字 \033[0m"
echo -e "\033[42;37m 绿底白字 \033[0m"
echo -e "\033[43;37m 黄底白字 \033[0m"
echo -e "\033[44;37m 蓝底白字 \033[0m"
echo -e "\033[45;37m 紫底白字 \033[0m"
echo -e "\033[46;37m 天蓝底白字 \033[0m"
echo -e "\033[47;30m 白底黑字 \033[0m"
# 通的字体变为绿色,不通的字体变为红色
[root@localhost ~]# cat read-4.sh
#! /bin/bash
#1.提示用户输入一个IP地址
read -p '请输入一个IP地址进行测试联通情况' Ip
#2.根据用户输入的IP地址进行测试
ping -c1 -W1 $Ip &>/dev/null
#3.测试结果返回给用户
if [ $? -eq 0 ];then
echo -e '\033[32m该IP地址是通畅的\033[0m'
else
echo -e '\033[31m该IP地址是不通畅的\033[0m'
fi
[root@localhost ~]# sh read-4.sh
请输入一个IP地址进行测试联通情况192.168.15.101
该IP地址是通畅的
[root@localhost ~]# sh read-4.sh
请输入一个IP地址进行测试联通情况10.0.0.1
该IP地址是不通畅的
4.写一个脚本,修改主机名
1.提示用户输入新的主机名
2.提示用户是否确认修改主机名
3.修改主机名
4.根据修改的结果进行判断
5.修改成功之后,让其立即生效
#! /bin/bash
# 1.提示用户输入新的主机名
read -p "请输入新的主机名" Hostname
# 2.提示用户是否确认修改主机名
read -p "请确认是否真正的修改主机名[yes|no]:" Qr
# 3.根据用户的输入进行是否修改主机名
if [ "$Qr" == "yes" ];then
echo "您选择了修改主机名"
hostnamectl set-hostname $Hostname &>/dev/null
if [ $? -eq 0 ];then
echo "修改主机名成功"
bash
else
echo "修改主机名失败"
fi
else
echo "您选择了不修改主机名"
echo "程序脚本退出"
fi
.
5.写个脚本,修改主机IP地址
1.提示用户输入新的ip地址
2.提示用户是否真的修改ip地址
3.修改ip地址,提示用户ip地址修改成功
4.怎么生效,重启网络服务,IP地址修改之后,远程连接会断开
5.怎么修改ip地址,10和172网段都要修改