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

问题描述

shell if 判断方法返回结果的问题
 #!/bin/shlogFile=/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:

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

解决方案

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

希望能帮到你。

解决方案二:
该文件的权限 chmod 给的是 777 ,还是报错呢。

解决方案三:
/opt/scripts/chkconns_log/chklog.log这个文件有权限?

解决方案四:
楼主很可惜shell不像其他语言一样可以直接函数返回值进行调用, 使用return 只能通过 $?来进行获取返回的值, 我操作了一遍,如果非要实现的话,可以使用变量的赋值来实现

if [ -f ${logFile} ]; then
echo Log file is exists !
x=0;
else
echo Log file is not exists ! ${logFile}
x=1;
fi
.....
if [[ ${x} -ne 0 ]]; then

这样就可以实现了
时间: 2024-10-28 02:19:10

shell 判断 if-shell if 判断方法返回结果的问题的相关文章

Shell脚本判断IP地址是否合法的方法_linux shell

使用shell校验IP地址合法性 使用方法: 复制代码 代码如下: [root@yang python]# bash check_ip.sh IP地址 执行结果:返回值0校验合法,非0不合法.shell代码: 复制代码 代码如下: [root@yang python]# vi check_ip.sh #!/usr/bin/shCheckIPAddr(){echo $1|grep "^[0-9]\{1,3\}\.\([0-9]\{1,3\}\.\)\{2\}[0-9]\{1,3\}$"

对用户输入的判断的shell实现代码_linux shell

今天的案例是将 对用户输入的判断的 #!/bin/sh # validint -- Validates integer input, allowing negative ints too. function validint { # Validate first field. Then test against min value $2 and/or # max value $3 if they are supplied. If they are not supplied, skip these

判断输入的日期是否正确的shell脚本_linux shell

今儿个讲得是判断输入的日期是否正确,有利用到我们之前03这个例子中的函数 下面是代码 #!/bin/sh # valid-date -- Validates a date, taking into account leap year rules. exceedsDaysInMonth() { case $(echo $1|tr '[:upper:]' '[:lower:]') in jan* ) days=31 ;; feb* ) days=28 ;; mar* ) days=31 ;; apr

JavaScript判断undefined类型的正确方法

  这篇文章主要介绍了JavaScript判断undefined类型的正确方法,相信很多同学在遇到这问题时都会用到错误的方法,正确方法也很简单,需要的朋友可以参考下 代码如下: if (reValue== undefined){ alert("undefined"); } 发现判断不出来,最后查了下资料要用typeof 方法: 代码如下: if (typeof(reValue) == "undefined") { alert("undefined"

Android编程之判断SD卡状态的方法_Android

本文实例讲述了Android编程之判断SD卡状态的方法.分享给大家供大家参考,具体如下: 首先我们要在AndroidManifest.xml中增加SD卡访问权限: <!-- 在SDCard 的挂载权限 --> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> <!-- 往SDCard写入数据权限 --> <uses-permission

jQuery判断对象是否存在的方法_jquery

本文实例讲述了jQuery判断对象是否存在的方法.分享给大家供大家参考.具体如下: 一.传统Javascript的写法 obj = document.getElementById("someID"); if (obj){ obj.innerText("hi"); } 在jQuery中,var obj = $("#id")无论id这个控件是否存在,都是返回object,这样可就无法使用if(obj)来判断这个控件是否存在了  二.jQuery判断对

xutils-XUtils中的httpUtils得到数据后,对得到的数据进行判断,并且直接判断的结果返回结果

问题描述 XUtils中的httpUtils得到数据后,对得到的数据进行判断,并且直接判断的结果返回结果 如图,我使用checkJson(这是我自己定义的方法)来对返回的数据进行判断,但是由于开启了一条新线程,导致数据加载过程中就执行了return,我该怎么写,才能让数据加载完后才return???又不能把return放在success里面.....j急求啊啊啊啊啊啊啊 解决方案 在你上面的run()方法里面添加下面代码: Message message = new Message(); mes

javascript简单判断输入内容是否合法的方法_javascript技巧

本文实例讲述了javascript简单判断输入内容是否合法的方法.分享给大家供大家参考,具体如下: 关于检测用户输入的内容是否有非法的字符检测实现思路 1.定义合法的字符串(源字符串) 2.获取用户输入的内容 3.循环的取出用户输入的每一个字符,去源字符串中查找   1).查找到了,返回字符串查找的位置   2).没有找到返回-1,我们正好利用-1检测用户输入的内容是否合法 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0Transitional//

javascript判断firebug是否开启的方法_javascript技巧

本文实例讲述了javascript判断firebug是否开启的方法.分享给大家供大家参考,具体如下: 经常用Firefox + Firebug调试JavaScript的朋友都知道,一但开启firebug,页面js的运行将显著变慢. 页面的javascript是否能够主动判断当前Firebug是否已开启呢? 答案是肯定的. Firebug已经更新了很多个版本了.印象中某个旧版本可以通过检测console.firebug来判断,不过现在已经无效了. 最近几个版本的firebug可以通过console