加入收藏 | 设为首页 | 会员中心 | 我要投稿 佛山站长网 (https://www.0757zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

奇怪的Bash脚本错误

发布时间:2016-10-23 09:19:45 所属栏目:Linux 来源:网络整理
导读:由于工作需要,写了一个脚本,该脚本的功能是实现: 有两个.txt文件,里面存放了一些域名,然后从这两个.txt文件里面,随机取出一个域名,写入到shiting.htm和x
副标题[/!--empirenews.page--]

由于工作需要,写了一个脚本,该脚本的功能是实现:

有两个.txt文件,里面存放了一些域名,然后从这两个.txt文件里面,随机取出一个域名,写入到shiting.htm和xiazai.htm文件里面。

脚本写好了,测了语法,没问题,在虚拟机里面也测试通过的,没问题。可是一拷贝到生产环境中,就出了大问题。纠结了我两天,现在终于得到了解决,现在总结以下,以免以后再犯同样的错误。

脚本如下:

#!/bin/bash 
# author: honway.liu 
# date: 2012-06-01
     
# define location file 
yyxz=/data/cdn/xiazai.txt 
yyst=/data/cdn/shiting.txt 
#xiazai=/data/api/xiazai.htm 
#shiting=/data/api/shiting.htm 
xiazai=/tmp/xiazai.htm 
shiting=/tmp/shiting.htm 
log=/tmp 
     
# xiazai & shiting file line number 
xznm=$(wc -l $yyxz|awk '{print $1}') 
stnm=$(wc -l $yyst|awk '{print $1}') 
     
# random for xiazai & shiting 
down=$[$RANDOM%$xznm+1] 
listen=$[$RANDOM%$stnm+1] 
     
# get xiazai & shiting domain name 
xzym=$(sed -n ${down}p $yyxz) 
stym=$(sed -n ${listen}p $yyst) 
     
# write domain name into htm files. 
echo -n $xzym > $xiazai 
echo -n $stym > $shiting 
     
# out put logs 
echo "The $xzym at `date +'%F %T'` be provided" >>/$log/xiazai_domain.log 
echo "The $stym at `date +'%F %T'` be provided" >>/$log/shiting_domain.log 
     
exit 0

本栏目更多精彩内容:http://www.bianceng.cn/OS/Linux/

语法检测是没问题的,但是执行的时候,就乱七八糟的。

奇怪的Bash脚本错误

上面最后一个错是因为exit0没有空格。看sed的结果是OK的,但是变量的内容就乱七八糟,让人很头痛。看下输出的结果

奇怪的Bash脚本错误奇怪的Bash脚本错误

(编辑:佛山站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读