关于一个SHELL脚本的问题?

santld 2002-02-19 05:06:34
不知道为什么,我进行shell编程的时候,到判断语句的时候,总是无法正确执行
代码如下:

#!/bin/sh

echo -e "Please enter file name: "
read file

if [ -f $file ]
then
echo Find the file $file
else
echo Don't find the file $file
fi


当执行到 [ -f $file ] 就会出现错误,我用的是 red hat linux 7.1,shell:/bin/bash

...全文
6 点赞 收藏 9
写回复
9 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
water_crusoe 2002-04-16
方括号后还要个分号,if [……];then
回复
santld 2002-02-21
太夸张了吧,机子对我不公平
回复
linuxnewer 2002-02-20
-f 判断文件是否存在
判断条件和方括号之间应该有空格:
[空格-f $file空格]
再试试。
回复
guduker 2002-02-20
后面两个ECHO命令后的参数应该用双引号括住
另外[ -f $file ] 中的-f表示什么意思???
判断表达式的真假好象不是这个参数
回复
linuxnewer 2002-02-20
呵呵,好玩。
我这里不加"也一样正常运行。
回复
santld 2002-02-20
加上"可以执行了,但是又多出来了一个command not found
不知为什么?
回复
victts 2002-02-20
echo "Don't find the file $file"
回复
linuxnewer 2002-02-20
呵呵,提示的错误是什么?
btw:我这里用你那段shell程序没有报错。
回复
santld 2002-02-20
谢谢各位兄弟,我在中间加空格了,但是不行
回复
发帖
系统维护与使用区
创建于2007-08-27

1.9w+

社区成员

系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
申请成为版主
帖子事件
创建了帖子
2002-02-19 05:06
社区公告
暂无公告