shell脚本的小错误,标题上说不清,麻烦大家进来看一眼!

sh/bash/dash/ksh/zsh等Shell脚本
回复
头像
Ricardo KX
帖子: 44
注册时间: 2012-02-06 9:36

shell脚本的小错误,标题上说不清,麻烦大家进来看一眼!

#1

帖子 Ricardo KX » 2012-05-06 17:15

在下初学shell,练习的时候写的这个脚本,用bash执行的时候不管输入什么都是显示:“sh06-2.sh: 行 17: 语法错误: 未预期的文件结尾”,然后就自动退出了,可我这个脚本根本就没有17行啊,百般更改无果,无奈只好发贴请教各位这个脚本问题出在哪里 :em03
一下是该脚本在vim里的原状态,前面的是行号
1 #!/bin/bash
2 # Program:
3 # This program shows users' choice
4 # History:
5 # 2010/05/06 Ricardo First release
6 PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
7 export PATH
8 read -p "please input Y or N:" x #用户输入Y或N
9 if [ "$x" == Y ] || [ "$x" == y ] ; then
10 echo "OK,continue"
11 exit #判断输入值是否Y或y
12 if [ "$x" == N ] || [ "$x" == n ] ; then
13 echo "Oh,interrupt!"
14 exit #判断输入值是否N或n
15 fi
16 echo "I don't konw what your choice is " && exit
头像
YeLee
论坛版主
帖子: 26406
注册时间: 2008-08-13 8:48
系统: Fundu i64
来自: 东海硇州,一双管钥。
联系:

Re: shell脚本的小错误,标题上说不清,麻烦大家进来看一眼!

#2

帖子 YeLee » 2012-05-06 17:39

[bash]#!/bin/bash
# Program:
# This program shows users' choice
# History:
# 2010/05/06 Ricardo First release
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
read -p "please input Y or N:" x #用户输入Y或N
if [ "$x" == Y ] || [ "$x" == y ] ; then
echo "OK,continue"
exit #判断输入值是否Y或y
fi
if [ "$x" == N ] || [ "$x" == n ] ; then
echo "Oh,interrupt!"
exit #判断输入值是否N或n
fi
echo "I don't konw what your choice is " && exit[/bash]
12行前加个fi
if和fi应该成对的。
◎当我站在道德的高度上俯视别人的时候,发现自己是多么渺小。
♥执着但不偏激,反对而不排斥,坚决捍卫矛盾体的存在方式。
★★★天气预报★★★
fcitx-yatable一个可以使用的码表输入法
[教程]几个实例攻克软件编译难关
Gentoo Development Guide
字体相关
头像
YeLee
论坛版主
帖子: 26406
注册时间: 2008-08-13 8:48
系统: Fundu i64
来自: 东海硇州,一双管钥。
联系:

Re: shell脚本的小错误,标题上说不清,麻烦大家进来看一眼!

#3

帖子 YeLee » 2012-05-06 17:42

该死,连缩进都没…… :em20 :em20 :em20
◎当我站在道德的高度上俯视别人的时候,发现自己是多么渺小。
♥执着但不偏激,反对而不排斥,坚决捍卫矛盾体的存在方式。
★★★天气预报★★★
fcitx-yatable一个可以使用的码表输入法
[教程]几个实例攻克软件编译难关
Gentoo Development Guide
字体相关
头像
Ricardo KX
帖子: 44
注册时间: 2012-02-06 9:36

Re: shell脚本的小错误,标题上说不清,麻烦大家进来看一眼!

#4

帖子 Ricardo KX » 2012-05-06 18:15

YeLee 写了:[bash]#!/bin/bash
# Program:
# This program shows users' choice
# History:
# 2010/05/06 Ricardo First release
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
read -p "please input Y or N:" x #用户输入Y或N
if [ "$x" == Y ] || [ "$x" == y ] ; then
echo "OK,continue"
exit #判断输入值是否Y或y
fi
if [ "$x" == N ] || [ "$x" == n ] ; then
echo "Oh,interrupt!"
exit #判断输入值是否N或n
fi
echo "I don't konw what your choice is " && exit[/bash]
12行前加个fi
if和fi应该成对的。
原来如此,多谢了,看书没看仔细 :em06
头像
Ricardo KX
帖子: 44
注册时间: 2012-02-06 9:36

Re: shell脚本的小错误,标题上说不清,麻烦大家进来看一眼!

#5

帖子 Ricardo KX » 2012-05-06 18:16

YeLee 写了:该死,连缩进都没…… :em20 :em20 :em20

有缩进的,,这是直接从终端复制的,格式有点那啥 :em03
头像
枫叶饭团
帖子: 14683
注册时间: 2010-06-16 1:05
系统: Mac OS X
来自: Tencent
联系:

Re: shell脚本的小错误,标题上说不清,麻烦大家进来看一眼!

#6

帖子 枫叶饭团 » 2012-05-06 18:33

自从用了py,没缩进的代码都看不懂了 :em06
回复