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!
-
sightxp
- 帖子: 13
- 注册时间: 2010-05-11 16:16
#3
帖子
由 sightxp » 2010-05-11 16:24
= 换成 == !LZ有错别字了!
-
chunniunai
- 帖子: 54
- 注册时间: 2010-05-10 14:55
- 来自: 杭州
#4
帖子
由 chunniunai » 2010-05-11 17:05
灌水!
焚我残躯,熊熊圣火。
生亦何欢,死亦何苦?
唯善除恶,唯光明故。
喜乐悲愁,皆归尘土。
怜我世人,忧患实多!
怜我世人,忧患实多
-
yangsp805
- 帖子: 5
- 注册时间: 2009-10-22 14:14
#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
#7
帖子
由 fanhe » 2010-07-23 21:42
一般,[] 是用 -eq 的
[[]]才是 ==
-
allanxia86
- 帖子: 6
- 注册时间: 2010-07-28 21:55
#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
#9
帖子
由 aerofox » 2010-08-02 12:17
LS:
[ 后 及 ] 前都是要有空格的。
-
xiooli
- 帖子: 6956
- 注册时间: 2007-11-19 21:51
- 来自: 成都
-
联系:
#11
帖子
由 xiooli » 2010-08-02 16:14
allanxia86 写了:多谢~
那为什么用 -eq 带替 = 不行呢?
一般 -eq 是用来比较 数字的
-
eexpress
- 帖子: 58428
- 注册时间: 2005-08-14 21:55
- 来自: 长沙
#12
帖子
由 eexpress » 2010-08-02 16:34
多看man bash
这样的问题,问一次就够了吧。
● 鸣学