100分,sh文件为什么不能执行?
test.sh文件只有这一句话   
 if   [   -f   load.sh   ];   then 
       echo    "Cannot   find " 
 fi   
 说fi附近语法错误 
 ?
------解决方案--------------------我帮你试了一下,没错啊   
 要去你改成 
 if [ -f load.sh ] 
 then 
   echo  "Cannot find " 
 fi 
 看看 
------解决方案--------------------有加 #!/bin/sh 么
------解决方案--------------------试过了,没问题!不过脚本没意义: 
 这不是想这样啊? 
 if [ -f load.sh ]; then 
   echo  "find, run load.sh " 
 else 
   echo  "Cannot find " 
 fi 
------解决方案--------------------权限问题
------解决方案--------------------楼主这段代码是windows下的   
 vi 文件 
 将每行后的^M符合删除
------解决方案--------------------在每个脚本的开头都使用 "#! ",这意味着告诉你的系统这个文件的执行需要指定一个解 
 释器.#!实际上是一个2 字节[1]的魔法数字,这是指定一个文件类型的特殊标记, 换句话说, 在 
 这种情况下,指的就是一个可执行的脚本(键入man magic 来获得关于这个迷人话题的更多详细 
 信息).在#!之后接着是一个路径名.这个路径名指定了一个解释脚本中命令的程序,这个程序可 
 以是shell,程序语言或者是任意一个通用程序.这个指定的程序从头开始解释并且执行脚本中 
 的命令(从#!行下边的一行开始),忽略注释.[2] 
 如: 
 1 #!/bin/sh 
 2 #!/bin/bash 
 3 #!/usr/bin/perl 
 4 #!/usr/bin/tcl 
 5 #!/bin/sed -f 
 6 #!/usr/awk -fh   
 然后将文件加上可执行的权限。 
 输入./test.sh  执行
------解决方案--------------------检查一下每行结束的换行符是不是Windows的换行格式。。 
 最好直接用VI编写
------解决方案--------------------用ue转换一下格式就好了。
------解决方案--------------------看你的shell文件有没有被认识到。 老牛 写了很多头文件。 
 写个更简单的echo ...   
------解决方案--------------------格式问题吧