1、实例:
-
编写测试主机在线的脚本,当主机在线提示在线,当主机不在线提示不在线。
-
使用变量前:
-
[root@localhost ~]# vim ping.sh #编写程序 ping -c1 192.168.151.161 &> /dev/null && echo 192.168.151.161up || echo 192.168.151.161down #&&和||是三目表达式:&&前面的命令成功。执行后面的命令,||前面的命令失败,执行后面的命令 [root@localhost ~]# chmod +x ping.sh #授权脚本 [root@localhost ~]# ./ping.sh #执行脚本
如果更换测试ip。需要修改脚本的三个部分。
-
-
使用变量后:
-
[root@localhost ~]# vim ping.sh #编写脚本 #!/bin/bash ip=192.168.151.1 ping -c1 $ip &> /dev/null && echo "$ip up" || echo "$ip down" [root@localhost ~]# chmod +x ping.sh #授权脚本 [root@localhost ~]# ./ping.sh #执行脚本
添加变量后,修改一处即可
-
2、交互定义变量:
-
read从键盘读入变量值,命令格式:read 变量名
示例:-
[root@localhost ~]# vim ping.sh #编写程序 read -p "请输入需要测试的IP:" ip ping -c1 $ip &> /dev/null && echo "$ip up" || echo "$ip down"
-
-
注意事项:
-
3种引号:“ ”弱引用 ' '强引用 ` `优先执行(定义或引用变量时注意事项)
-
双引号:
-
-
[root@localhost ~]# schoo=1000 phone -bash: phone: 未找到命令 [root@localhost ~]# schoo="1000 phone" [root@localhost ~]# echo $schoo 1000 phone #结果
单引号:
[root@localhost ~]# schoo='$schoo 666' [root@localhost ~]# echo $schoo $schoo 666 #结果
-
-
-
-
-
-
-
反引号:
[root@localhost ~]# schoo=`date` [root@localhost ~]# echo $schoo 2023年 11月 10日 星期五 21:24:53 CST #结果
-
-
-
3、注意:
-
-
变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样。同时,变量名的命名需遵守如下规则:
-
命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。
-
中间不能有空格,可以使用下划线(_)。
-
不能使用标点符号。
-
不能使用bash里的关键字(可用help命令查看保留关键字)。
-
起变量名,请使用五个字母以上。
-