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

android mk shell付给变量 shell 目录赋值给变量_主机名

 

 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
备份完成

android mk shell付给变量 shell 目录赋值给变量_bash_02

 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是通畅的

android mk shell付给变量 shell 目录赋值给变量_IP_03

 

 第二种方法:

[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地址是通畅的

android mk shell付给变量 shell 目录赋值给变量_主机名_04

 

 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

.

android mk shell付给变量 shell 目录赋值给变量_IP_05

 5.写个脚本,修改主机IP地址

    1.提示用户输入新的ip地址

    2.提示用户是否真的修改ip地址

    3.修改ip地址,提示用户ip地址修改成功

    4.怎么生效,重启网络服务,IP地址修改之后,远程连接会断开

    5.怎么修改ip地址,10和172网段都要修改  

 

android mk shell付给变量 shell 目录赋值给变量_bash_06

 

android mk shell付给变量 shell 目录赋值给变量_IP_07

 

 

 

android mk shell付给变量 shell 目录赋值给变量_主机名_08

 

 

android mk shell付给变量 shell 目录赋值给变量_主机名_09

 

android mk shell付给变量 shell 目录赋值给变量_IP_10