LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1155|回复: 5

请教一个简单的shell脚本。

[复制链接]
发表于 2008-10-14 21:02:56 | 显示全部楼层 |阅读模式
#! /bin/sh

rm -rf fred*
echo >  fred1
echo >  fred2
mkdir fred3
echo >  fred4

for file in fred*
do
  if [ -d "$file" ]; then
    break;
  fi
done

echo first directory fred was "$file"

rm -rf fred*

exit 0

如上,这是linux程序设计中的简单一个实例,我用chmod +x break,将这个脚本设为可执行,但是执行后有如下错误:
bash: ./break: /bin/sh^M: bad interpreter: No such file or directory
操作系统是opensuse11。
小弟刚学这个shell,请教各位了。多谢!
发表于 2008-10-14 21:20:22 | 显示全部楼层
你曾几何时是否想过google这段:
  1. /bin/sh^M: bad interpreter: No such file or directory
复制代码
呢?
回复 支持 反对

使用道具 举报

发表于 2008-10-14 21:50:29 | 显示全部楼层
大概是因为在WIN下面编辑的缘故,行末有\r字符,需要用
dos2unix转换一下,或者,在文本编辑器中重新以unix换行方式保存一下就可以了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-10-14 22:13:08 | 显示全部楼层
Post by springwind426;1894021
大概是因为在WIN下面编辑的缘故,行末有\r字符,需要用
dos2unix转换一下,或者,在文本编辑器中重新以unix换行方式保存一下就可以了


好像是这个问题,我把里面的内容复制到自己建的文件里,问题就没有了。
回复 支持 反对

使用道具 举报

发表于 2008-10-21 10:27:24 | 显示全部楼层
dos2unix
回复 支持 反对

使用道具 举报

发表于 2008-10-21 14:29:09 | 显示全部楼层
sed -e "s/\r//"
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表