Bash関数からブール値を返す 質問する

Bash関数からブール値を返す 質問する

ファイルに特定のプロパティがあるかどうかをチェックし、true または false を返す bash 関数を記述したいと思います。その後、スクリプトの「if」でそれを使用できます。しかし、何を返す必要がありますか?

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

次のように使用します:

if myfun filename.txt; then ...

もちろんこれは機能しません。どうすればこれを実現できるのでしょうか?

ベストアンサー1

true の場合は 0、false の場合は 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" ]
}

おすすめ記事