100分,sh文件为什么不能执行?该如何处理

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 …


格式问题吧

100分,sh文件为什么不能执行?该如何处理

相关文章:

你感兴趣的文章:

标签云: