-test を試すことができます 同じことを達成するためのオプション。
hdfs dfs -test -[defszrw] HDFS_PATH
-d: パスがディレクトリの場合は、0 を返します。-e: パスが存在する場合は、0 を返します。2.7.0以降
-f: パスがファイルの場合は、0 を返します。-s: パスが空でない場合は、0 を返します。-r: パスが存在し、読み取り許可が付与されている場合は、0 を返します。2.8.0以降
-w: パスが存在し、書き込み権限が付与されている場合は、0 を返します。-z: ファイルの長さがゼロの場合は、0 を返します。
例:
if hdfs dfs -test -e $HDFS_PATH; then
echo "[$HDFS_PATH] exists on HDFS"
hdfs dfs -ls $HDFS_PATH
fi
参照:https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/FileSystemShell.html#test