mkdir.sh Syntax error: word unexpected (expecting "do")

sh/bash/dash/ksh/zsh等Shell脚本
回复
ayading826
帖子: 15
注册时间: 2012-10-23 16:09
系统: win7/linux
送出感谢: 2 次
接收感谢: 0

mkdir.sh Syntax error: word unexpected (expecting "do")

#1

帖子 ayading826 » 2013-03-26 18:37

mkdir.sh

执行 sh mkdir.sh xxx(参数)
错误提示:mkdirs.sh: 9: Syntax error: word unexpected (expecting "do")
请问有谁知道为什么吗?

root@ubuntu10:~# cat mkdirs.sh
#!/bin/sh
# mkinstalldirs --- make directory hierarchy
# Author: Noah Friedman <friedman@prep.ai.mit.edu>
# Created: 1993-05-16
# Last modified: 1994-03-25
# Public domain
#
errstatus=0
for file in ${1+"$@"};do
set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
shift
pathcomp=
for d in ${1+"$@"} ; do
pathcomp="$pathcomp$d"
case "$pathcomp" in
-* ) pathcomp=./$pathcomp ;;
esac
if test ! -d "$pathcomp"; then
echo "mkdir $pathcomp" 1>&2
case "$pathcomp" in
[abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ]: )
;; # DOSISH systems
* ) mkdir "$pathcomp" || errstatus=$? ;;
esac
fi
pathcomp="$pathcomp/"
done
done
exit $errstatus
头像
YeLee
论坛版主
帖子: 26408
注册时间: 2008-08-13 8:48
系统: Fundu i64
来自: 东海硇州,一双管钥。
送出感谢: 25 次
接收感谢: 307 次
联系:

Re: mkdir.sh Syntax error: word unexpected (expecting "do")

#2

帖子 YeLee » 2013-03-27 10:03

这个确实是dash的问题,那么我就不解释了。 :em01 :em01 :em01
◎当我站在道德的高度上俯视别人的时候,发现自己是多么渺小。
♥执着但不偏激,反对而不排斥,坚决捍卫矛盾体的存在方式。
★★★天气预报★★★
fcitx-yatable一个可以使用的码表输入法
[教程]几个实例攻克软件编译难关
Gentoo Development Guide
字体相关
ayading826
帖子: 15
注册时间: 2012-10-23 16:09
系统: win7/linux
送出感谢: 2 次
接收感谢: 0

Re: mkdir.sh Syntax error: word unexpected (expecting "do")

#3

帖子 ayading826 » 2013-03-27 16:14

YeLee 写了:这个确实是dash的问题,那么我就不解释了。 :em01 :em01 :em01
额,没明白什么意思,能讲具体一些吗 :em06 :em06 :em06

root@ubuntu10:~/shell# ls -l /bin/sh
lrwxrwxrwx 1 root root 4 2013-03-09 14:40 /bin/sh -> dash

sh确实链接到了dash,但是我把#! /bin/sh 改成#! /bin/bash ,然后用执行 bash mkdir.sh xxx 。还是那个错误啊。
头像
麦斯特
帖子: 1034
注册时间: 2005-03-28 0:00
系统: Gentoo x64
来自: ☸我佛山人
送出感谢: 1 次
接收感谢: 17 次

Re: mkdir.sh Syntax error: word unexpected (expecting "do")

#4

帖子 麦斯特 » 2013-03-27 16:53

我就猜,不同风格的换行绝对不会出问题的。
这些用户感谢了作者 麦斯特 于这个帖子:
ayading826 (2013-03-27 22:28)
评价: 3.7%
Je ne suis pas d'accord avec ce que vous dites, mais je me battrai jusqu'à la mort pour que vous ayez le droit de le dire.
ayading826
帖子: 15
注册时间: 2012-10-23 16:09
系统: win7/linux
送出感谢: 2 次
接收感谢: 0

Re: mkdir.sh Syntax error: word unexpected (expecting "do")

#5

帖子 ayading826 » 2013-03-27 17:08

麦斯特 写了:我就猜,不同风格的换行绝对不会出问题的。
你的意思是这些代码要全部自己在linux中环境敲一遍吗?
头像
麦斯特
帖子: 1034
注册时间: 2005-03-28 0:00
系统: Gentoo x64
来自: ☸我佛山人
送出感谢: 1 次
接收感谢: 17 次

Re: mkdir.sh Syntax error: word unexpected (expecting "do")

#6

帖子 麦斯特 » 2013-03-27 17:19

Hey guy, welcome to Linux.
Je ne suis pas d'accord avec ce que vous dites, mais je me battrai jusqu'à la mort pour que vous ayez le droit de le dire.
ayading826
帖子: 15
注册时间: 2012-10-23 16:09
系统: win7/linux
送出感谢: 2 次
接收感谢: 0

Re: mkdir.sh Syntax error: word unexpected (expecting "do")

#7

帖子 ayading826 » 2013-03-27 17:26

:em06 :em20 :em11
麦斯特 写了:Hey guy, welcome to Linux.
aerofox
帖子: 1453
注册时间: 2008-05-24 8:30
送出感谢: 2 次
接收感谢: 31 次

Re: mkdir.sh Syntax error: word unexpected (expecting "do")

#8

帖子 aerofox » 2013-03-27 20:21

ayading826 写了:
麦斯特 写了:我就猜,不同风格的换行绝对不会出问题的。
你的意思是这些代码要全部自己在linux中环境敲一遍吗?
那倒不用。转换成 UNIX 风格就可以了。可以用 dos2unix、fromdos 等命令转,也可以用 vim 编辑器转,或者再不清楚的,用鼠标中键粘贴到一个新的编辑窗口中。
这些用户感谢了作者 aerofox 于这个帖子:
ayading826 (2013-03-27 21:59)
评价: 3.7%
ayading826
帖子: 15
注册时间: 2012-10-23 16:09
系统: win7/linux
送出感谢: 2 次
接收感谢: 0

Re: mkdir.sh Syntax error: word unexpected (expecting "do")

#9

帖子 ayading826 » 2013-03-27 22:23

aerofox 写了:
ayading826 写了:
麦斯特 写了:我就猜,不同风格的换行绝对不会出问题的。
你的意思是这些代码要全部自己在linux中环境敲一遍吗?
那倒不用。转换成 UNIX 风格就可以了。可以用 dos2unix、fromdos 等命令转,也可以用 vim 编辑器转,或者再不清楚的,用鼠标中键粘贴到一个新的编辑窗口中。
:em11 :em11 :em11 非常感谢,这次没有错误了!!!
回复

回到 “Shell脚本”