bash - 从 Bash 函数返回 boolean 值

标签 bash shell boolean

我想编写一个 bash 函数来检查文件是否具有某些属性并返回 true 或 false。然后我可以在“如果”的脚本中使用它。但是我应该返回什么?

function myfun(){ ... return 0; else return 1; fi;}

然后我这样使用它:

if myfun filename.txt; then ...

这当然不行。如何实现?

最佳答案

使用 0 表示真,1 表示假。

示例:

#!/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" ]
}

关于bash - 从 Bash 函数返回 boolean 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5431909/

相关文章:

linux - 如果我在 linux 上输入 >/会发生什么

bash - 回答多个命令行提示到 GitHub 用户名/密码

javascript - 如果另一个 var 为 false 或 true 但不是 boolean false,则将 var 设置为 true

python - 根据 pandas 列中的逻辑测试从 DataFrame 中选择行

c - 为什么 Objective-C Boolean 数据类型定义为 signed char?

linux - 如何在第二组单引号之间制作awk抓取字符串

bash - 代码挑战 : Bash prompt path shortener

bash - shell脚本随机数生成

linux - 如何在shell中访问以句点 '.'开头的文件

sockets - os.execute 不继承父级的 fds