微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从Bash函数返回一个布尔值

我想编写一个bash函数检查文件是否具有某些属性并返回true或false。然后我可以在“if”的脚本中使用它。但是我该怎么回事呢?
function myfun(){ ... return 0; else return 1; fi;}

然后我像这样使用它:

if myfun filename.txt; then ...

当然这不起作用。如何实现这一目标?

使用0表示true,使用1表示false。

样品:

#!/bin/bash

isdirectory() {
  if [ -d "$1" ]
  then
    # 0 = true
    return 0 
  else
    # 1 = false
    return 1
  fi
}


if isdirectory $1; then echo "is directory"; else echo "nopes"; fi

编辑

从@ amichair的评论来看,这些也是可能的

isdirectory() {
  if [ -d "$1" ]
  then
    true
  else
    false
  fi
}


isdirectory() {
  [ -d "$1" ]
}

原文地址:https://www.jb51.cc/bash/387309.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐