当前位置: 技术问答>javascript开源软件
iis7站长之家
求助:大家帮忙来看看这个shell cript的bug
来源: 互联网 发布时间:2016-03-21
本文导语: 我写了个shell script是实现一个小游戏hangman的,里面其中一个function我是这么写的: function replaceLetter(){ # Input a letter($1) and two filenames, one($2) stores the input word, and the other($3) stores the display word num=$( cat $2...
我写了个shell script是实现一个小游戏hangman的,里面其中一个function我是这么写的:
function replaceLetter(){
# Input a letter($1) and two filenames, one($2) stores the input word, and the other($3) stores the display word
num=$( cat $2 | wc -c)
num=$(($num-1))
tc=""
for (( i=1;i $3
}
我试着用单词finance测试,输入一个字母n,然后一个文件temp含有finance这个单词,另一个文件temp1含有与finance这个单词等长的“-”即“-------”,程序运行成功,可以替换。
但是如果我用replace这个单词和字母e测试,此时temp里是replace,temp1里是“-------”,这个时候程序却运行失败了,有点看不懂为什么,希望有人能帮忙解释一下,非常感谢!
function replaceLetter(){
# Input a letter($1) and two filenames, one($2) stores the input word, and the other($3) stores the display word
num=$( cat $2 | wc -c)
num=$(($num-1))
tc=""
for (( i=1;i $3
}
我试着用单词finance测试,输入一个字母n,然后一个文件temp含有finance这个单词,另一个文件temp1含有与finance这个单词等长的“-”即“-------”,程序运行成功,可以替换。
但是如果我用replace这个单词和字母e测试,此时temp里是replace,temp1里是“-------”,这个时候程序却运行失败了,有点看不懂为什么,希望有人能帮忙解释一下,非常感谢!
|
因为用replace这个单词和字母e测试
在第二个字母执行tc=$(echo $tc$1)这一步时
变成了echo -e
这里出了问题
换成tc="$tc$1"就好了
在第二个字母执行tc=$(echo $tc$1)这一步时
变成了echo -e
这里出了问题
换成tc="$tc$1"就好了