从Bash函数返回一个布尔值

前端之家收集整理的这篇文章主要介绍了从Bash函数返回一个布尔值前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想编写一个bash函数来检查文件是否具有某些属性并返回true或false。然后我可以在“if”的脚本中使用它。但是我该怎么回事呢?
  1. function myfun(){ ... return 0; else return 1; fi;}

然后我像这样使用它:

  1. if myfun filename.txt; then ...

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

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

样品:

  1. #!/bin/bash
  2.  
  3. isdirectory() {
  4. if [ -d "$1" ]
  5. then
  6. # 0 = true
  7. return 0
  8. else
  9. # 1 = false
  10. return 1
  11. fi
  12. }
  13.  
  14.  
  15. if isdirectory $1; then echo "is directory"; else echo "nopes"; fi

编辑

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

  1. isdirectory() {
  2. if [ -d "$1" ]
  3. then
  4. true
  5. else
  6. false
  7. fi
  8. }
  9.  
  10.  
  11. isdirectory() {
  12. [ -d "$1" ]
  13. }

猜你在找的Bash相关文章