Puedes probar -test
opción para lograr lo mismo.
hdfs dfs -test -[defszrw] HDFS_PATH
-d
: si la ruta es un directorio, devuelve 0.-e
: si la ruta existe, devuelve 0.Desde 2.7.0
-f
: si la ruta es un archivo, devuelve 0.-s
: si la ruta no está vacía, devuelve 0.-r
: si la ruta existe y se otorga permiso de lectura, devuelve 0.desde 2.8.0
-w
: si la ruta existe y se otorga permiso de escritura, devuelve 0.-z
: si el archivo tiene longitud cero, devuelve 0.
Ejemplo:
if hdfs dfs -test -e $HDFS_PATH; then
echo "[$HDFS_PATH] exists on HDFS"
hdfs dfs -ls $HDFS_PATH
fi
Referencia:https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/FileSystemShell.html#test