Puoi provare -test
opzione per ottenere lo stesso risultato.
hdfs dfs -test -[defszrw] HDFS_PATH
-d
: se il percorso è una directory, restituisce 0.-e
: se il percorso esiste, restituisce 0.Dalla 2.7.0
-f
: se il percorso è un file, restituisce 0.-s
: se il percorso non è vuoto, restituisce 0.-r
: se il percorso esiste e il permesso di lettura è concesso, restituisce 0.dalla 2.8.0
-w
: se il percorso esiste e il permesso di scrittura è concesso, restituisce 0.-z
: se il file è di lunghezza zero, restituisce 0.
Esempio:
if hdfs dfs -test -e $HDFS_PATH; then
echo "[$HDFS_PATH] exists on HDFS"
hdfs dfs -ls $HDFS_PATH
fi
Riferimento:https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/FileSystemShell.html#test