易截截图软件、单文件、免安装、纯绿色、仅160KB

cygwin和linux的bash语法不兼容吗?


有两段代码:
#!/bin/sh
if [ $#=0 ]
then
    echo "Name not provided"
else
    echo "You name is $1"
fi


#!/bin/sh
if [ $#=0 ]; then echo "Name not provided"
else  echo "You name is $1"
fi

名字为mypgm1
第一段代码在cygwin下不能正确运行
报错:
mypgm1: line 2: [: missing `]'
mypgm1: line 5: $'\r': command not found

第二段代码就可以运行了

但是两段代码在纯linux的环境都能运行。
请问这是语法不兼容的问题吗?

嗯,是的。那我怎么样才能解决这个问题呢?

if [ $# -eq 0 ]; then
....
else
....
fi

没怎么用过cygwin,不过你可以试试在cygwin下用vim emacs之类的编辑器写你的脚本。
或者试试对你的脚本 sed 's/\r//g'

jeff_jian,你真幽默啊,呵呵

我是用UE写的代码。忙我推荐一个更好的编辑器吧

我想彻底解决这个问题,今后就不用关心语法问题了


好的,感谢elfirex~

我比较习惯vim

引用
jeff_jian,你真幽默啊,呵呵

我是用UE写的代码。忙我推荐一个更好的编辑器吧

我想彻底解决这个问题,今后就不用关心语法问题了



——'
VI吧,改下.vimrc:
set fileformat=unix
应该OK

set ffs=unix,dos
{{--


相关问答:

Linux Socket HTTP请求的问题,高手进!

小弟最近需要一个用socket获取html文档的代码,但是老是不能获取完整的html源码。原因不明,望高手指点!
C/C++ code:

char *Http_GET(char *host,int port,char *data) //发送GET请求
{
char response[2 ......

有关linux安装脚本kickstart的编写

我之前制作的linux自动安装iso已经成功了,现在想对其进行一些定制修改,比如,更改grub图片等。
我在ks.cfg的%post段里面是这样写的:
%post --nochroot
# Move the contents of the tar into their new locati ......

硬盘安装linux没有启动相

我从xp硬盘安装了fedora red,用grub for dos安装成功,启动后却没有linux的启动相,是不是还要做些配置
xp可以正常启动,那位大虾帮帮忙,在线等啊!
自己先顶下

启动项是要自己手动添加的,呵呵

编辑好m ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号