关于Linux的shell简单编程的问题

zcywell 2009-10-25 07:47:05
这是一个简单的shell程序,我觉得已经没什么问题了,在linux下执行
# !/bin/bash

echo "Please input 'Yes' or 'No' to display greetings:"
read timeofday
if ["$timeofday" = "Yes"] then
echo "Good Morning!"
elif ["$timeofday" = "No"] then
echo "Good afternoon!"
else
echo "Error Time!"
fi

使用chmod 给shell.sh添加执行权限
chmod +x shell.sh
最后,./shell.sh

会出现Please input 'Yes' or 'No' to display greetings:的提示:
输入"Yes"就会出现问题出现以下语句
command not found
syntax error near unexpected token 'then'
请高手指点一下,谢谢了。。。。
...全文
150 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zcywell 2009-10-28
  • 打赏
  • 举报
回复
谢谢楼上的各位,我的问题解决了,错误就和各位说的差不多,谢谢大家的支持!!
zcywell 2009-10-28
  • 打赏
  • 举报
回复
谢谢楼上的各位,我的问题解决了,错误就和各位说的差不多,谢谢大家的支持!!
yinfubaobei 2009-10-27
  • 打赏
  • 举报
回复
判断字符串相等用“==” 而且 if和then间加“;”
steptodream 2009-10-26
  • 打赏
  • 举报
回复
左方括号的右边要有空格,右方括号的左边也要有空格

then和if放一行 前面要加;

楼主先学下shell编程基础哦
chlaws 2009-10-25
  • 打赏
  • 举报
回复
再之,使用=和==都是可以的使用=, 那么=号两边要有空格
使用==就不需要了
chlaws 2009-10-25
  • 打赏
  • 举报
回复

# !/bin/bash

echo "Please input 'Yes' or 'No' to display greetings:"
read timeofday
if [ "$timeofday" = "Yes" ]; then #[]左方括号的右边要有空格,右方括号的左边也要有空格
echo "Good Morning!"
elif [ "$timeofday" = "No" ]; then #并且then要和if放在一行,那么then前面必须要有分号这是两条语句
echo "Good afternoon!"
else
echo "Error Time!"
fi
plumstar 2009-10-25
  • 打赏
  • 举报
回复
有几个问题:
1、判断字符串相等用“==”符号
2、if和then间加“;”
#!/bin/sh

echo "Please input 'Yes' or 'No' to display greetings:"

read timeofday

if [ "$timeofday" == "Yes" ] ; then
echo "Good Morning!"
elif [ "$timeofday" == "No" ] ; then
echo "Good afternoon!"
else
echo "Error Time!"
fi
_懒人_ 2009-10-25
  • 打赏
  • 举报
回复
貌似后面要用分号隔开,不隔开一行只能识别一句语句。
if ["$timeofday" = "Yes"]; then
echo "Good Morning!"
elif ["$timeofday" = "No"]; then

2,163

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 UNIX文化
社区管理员
  • UNIX文化社区
  • 文天大人
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧