如何解决在bash中出现意外的错误
[已解决] 我是bash- / shell-script的新手,并尝试在服务器上设置IP地址检查,每周大约获取一次新IP。 然后,脚本将把新的IP发送给用户。
我的问题是,我在最后一个if-else语句中遇到了“意外” else的语法错误,并且无法理解为什么。
我的第一个迭代不使用函数,而是一个多行if-else,它得到了相同的错误。单独使用这些功能似乎可以正常工作。
#!/bin/bash
# script to send the new server ip to the users
# get the recent ip address of the system
new_ip=$(ip route get 8.8.8.8 | awk -F"src " 'NR==1{split($2,a," ");print a[1]}')
file=old_ip.txt
function ip_mail(){
source $file
if [ $new_ip != $old_ip ]
then
# email-address changed for obvIoUs reasons
mail -s "New Server IP" [hidden]@[hidden].com <<< "$new_ip"
echo "old_ip=$new_ip" > old_ip.txt
exit 0
fi
exit 0
}
function set_old(){
touch old_ip.txt
echo "old_ip=$new_ip" > old_ip.txt
exit 0
}
if [ $file ]
then
ip_mail()
else
set_old()
fi
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。