我写到脚本出错,请大家诊断以下

sh/bash/dash/ksh/zsh等Shell脚本
回复
头像
stuyou
帖子: 50
注册时间: 2007-10-29 10:54

我写到脚本出错,请大家诊断以下

#1

帖子 stuyou » 2010-05-11 11:07

脚本:

代码: 全选

#!/bin/sh

echo "Enter today,pls"
read today
if [ "$today"="yes" ]
then
        echo "GOOD DAY!"
else
        echo "BAD DAY!"
fi

exit 0
执行:

代码: 全选

 ./tsh
Enter today,pls
yes
GOOD DAY!
 ./tsh
Enter today,pls
no
GOOD DAY!
不论输入的是yes还是其它,得到到总是GOOD DAY!
billbear
帖子: 3681
注册时间: 2008-05-03 23:42

Re: 我写到脚本出错,请大家诊断以下

#2

帖子 billbear » 2010-05-11 11:57

等号两端的空格不可省略
sightxp
帖子: 13
注册时间: 2010-05-11 16:16

Re: 我写到脚本出错,请大家诊断以下

#3

帖子 sightxp » 2010-05-11 16:24

= 换成 == !LZ有错别字了!
头像
chunniunai
帖子: 54
注册时间: 2010-05-10 14:55
来自: 杭州

Re: 我写到脚本出错,请大家诊断以下

#4

帖子 chunniunai » 2010-05-11 17:05

:em01 灌水!
焚我残躯,熊熊圣火。
生亦何欢,死亦何苦?
唯善除恶,唯光明故。
喜乐悲愁,皆归尘土。
怜我世人,忧患实多!
怜我世人,忧患实多
头像
stuyou
帖子: 50
注册时间: 2007-10-29 10:54

Re: 我写到脚本出错,请大家诊断以下

#5

帖子 stuyou » 2010-05-11 21:02

呵呵。。谢谢哈。
yangsp805
帖子: 5
注册时间: 2009-10-22 14:14

Re: 我写到脚本出错,请大家诊断以下

#6

帖子 yangsp805 » 2010-07-23 16:28

代码: 全选

#!/bin/sh
echo "Enter today,pls"
read today
if [ "$today" == "yes" ]
then
        echo "GOOD DAY!"
else
        echo "BAD DAY!"
fi

头像
fanhe
帖子: 2357
注册时间: 2007-03-24 23:45

Re: 我写到脚本出错,请大家诊断以下

#7

帖子 fanhe » 2010-07-23 21:42

一般,[] 是用 -eq 的
[[]]才是 ==
allanxia86
帖子: 6
注册时间: 2010-07-28 21:55

Re: 我写到脚本出错,请大家诊断以下

#8

帖子 allanxia86 » 2010-08-01 23:09

这是我学着写的,请问哪里有问题呢?

代码: 全选

  1 # !/bin/sh
  2 
  3 echo "Enter today,pls"
  4 read today
  5 
  6 if ["$today" -eq "yes"]
  7 then
  8   echo "GOOD DAY"
  9 else
 10   echo "BAD DAY"
 11 fi
 12 
 13 exit 0
执行

代码: 全选

allanxia@ubuntu:~$ sh test.sh 
Enter today,pls
no
test.sh: 11: [no: not found
BAD DAY
allanxia@ubuntu:~$ sh test.sh 
Enter today,pls
yes
test.sh: 11: [yes: not found
BAD DAY
aerofox
帖子: 1453
注册时间: 2008-05-24 8:30

Re: 我写到脚本出错,请大家诊断以下

#9

帖子 aerofox » 2010-08-02 12:17

LS:
[ 后 及 ] 前都是要有空格的。
allanxia86
帖子: 6
注册时间: 2010-07-28 21:55

Re: 我写到脚本出错,请大家诊断以下

#10

帖子 allanxia86 » 2010-08-02 16:10

多谢~

那为什么用 -eq 带替 = 不行呢?
头像
xiooli
帖子: 6956
注册时间: 2007-11-19 21:51
来自: 成都
联系:

Re: 我写到脚本出错,请大家诊断以下

#11

帖子 xiooli » 2010-08-02 16:14

allanxia86 写了:多谢~

那为什么用 -eq 带替 = 不行呢?
一般 -eq 是用来比较 数字的
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: 我写到脚本出错,请大家诊断以下

#12

帖子 eexpress » 2010-08-02 16:34

多看man bash
这样的问题,问一次就够了吧。
● 鸣学
回复