shell 变量的3中传参方式
(1)直接传参
sh test.sh a b
(2) 赋值传参
#!/bin/bash
name=$1
age=$2
(3)read 读入
#!/bin/bash
read -p "请您输入您的姓名: " name
read -p "请您输入您的年龄: " age
echo 姓名: $name 
echo 年龄: $age

练习题:使用三种传参方式:
修改主机名称和IP地址
修改完IP 输出修改的结果到屏幕
在重启网络
第一种,直接传参 修改 主机 和 IP 地址
sh testvar.sh baimei 172.16.1.4
testvar.sh如下:
#!/bin/bash/
# change hostname 
hostnamectl set-hostname $1 
#dir=/root/ifcfg-eth
dir=/etc/sysconfig/network-scripts/ifcfg-eth1
echo "修改文件为:" $dir
sed -i "/IPADDR/c IPADDR=$2" $dir
echo "修改内容为:" ` sed -n  "/IPADDR/p" $dir`
echo "开始重启网卡:"
ifdown eth1
sleep 10s
ifup eth1
修改后, bash

第2种: 赋值传参
[root@lb02 ~]#cat 2testvar.sh 
#!/bin/bash/
# change hostname 
hostname=$1
ip=$2
hostnamectl set-hostname $hostname 
#dir=/root/ifcfg-eth
dir=/etc/sysconfig/network-scripts/ifcfg-eth1
echo "修改文件为:" $dir
sed -i "/IPADDR/c IPADDR=$ip" $dir
echo "修改内容为:" ` sed -n  "/IPADDR/p" $dir`
echo "开始重启网卡:"
ifdown eth1
sleep 3s
ifup eth1
第3种: read 读入

#!/bin/bash/
# change hostname 
read -p "请输入主机名称:" hostname
echo $hostname
read -p "请输入内网Ip:" ip
echo $ip
hostnamectl set-hostname $hostname 
#dir=/root/ifcfg-eth
dir=/etc/sysconfig/network-scripts/ifcfg-eth1
echo "修改文件为:" $dir
sed -i "/IPADDR/c IPADDR=$ip" $dir
echo "修改内容为:" ` sed -n  "/IPADDR/p" $dir`
echo "开始重启网卡:"
ifdown eth1
sleep 3s
ifup eth1
[ $? -eq 0 ] && echo "重启网卡成功" || echo "重启网卡失败...."
欢迎来撩 :shell 编程从0到1
 51工具盒子
51工具盒子 
                 
                             
                         
                         
                         
                        