Sie können es mit -test versuchen Möglichkeit, dasselbe zu erreichen.
hdfs dfs -test -[defszrw] HDFS_PATH
-d: wenn der Pfad ein Verzeichnis ist, gib 0 zurück.-e: wenn der Pfad existiert, gib 0 zurück.Seit 2.7.0
-f: wenn der Pfad eine Datei ist, gib 0 zurück.-s: wenn der Pfad nicht leer ist, gib 0 zurück.-r: wenn der Pfad existiert und Leserechte erteilt wurden, gib 0 zurück.seit 2.8.0
-w: wenn der Pfad existiert und Schreibrechte erteilt sind, 0 zurückgeben.-z: wenn die Datei keine Länge hat, gib 0 zurück.
Beispiel:
if hdfs dfs -test -e $HDFS_PATH; then
echo "[$HDFS_PATH] exists on HDFS"
hdfs dfs -ls $HDFS_PATH
fi
Referenz:https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/FileSystemShell.html#test