y540968398 2015-06-15 03:43 采纳率: 0%
浏览 5186

shell if 判断方法返回结果的问题

 #!/bin/sh
logFile=/opt/scripts/chkconns_log/chklog.log;
dailyLogFile=${logFile}_dailyLog;
logExists()
{
    if [ -f ${logFile} ]; then
        echo Log file is exists !
        return 0;
    else
        echo Log file is not exists ! ${logFile}
        return 1;
    fi
}
getDailyFileName()
{
   if [[ ${logExists} -ne 0 ]]; then                        ------------------ 出问题的语句
        return;
    fi

上面 出问题的语句 行中调用logExists方法,并判断其结果,在 centos 中可以正常执行, 但在 debain 中改行不能正常执行。
默认 if [ [${logExists} -eq 1 ] ]; then 报错 [: Illegal number: [
改为 if ( "${logExists}" -eq 1 ) then 报错 : Permission denied
改为 if [ "${logExists}" -eq 1 ]; then 报错 [: Illegal number:

请教各位大神们,该问题 何解~~~~~!

  • 写回答

4条回答 默认 最新

  • 帘卷西风 领域专家: 游戏开发技术领域 2015-06-15 04:17
    关注

    Permission denied应该是权限不够,可能语法是对的,其他两个错误是语法不对。
    用chmod修改下权限再试试。

    希望能帮到你。

    评论

报告相同问题?