निर्देशिका मौजूद है या नहीं, यह जांचने के लिए, मैंने इसे नीचे दिए गए आदेश का उपयोग किया है:

hdfs dfs -test -d /HDFS/Sample

यहां नमूना एचडीएफएस में एक निर्देशिका है।

कमांड कहते हैं कि यदि पथ निर्देशिका है, तो यह 0 लौटाएगा, जब मैं इस कमांड को प्रॉम्प्ट में निष्पादित करता हूं, तो मैं कमांड प्रॉम्प्ट में 0 प्राप्त करने में असमर्थ हूं।

0
Test650 6 अक्टूबर 2017, 12:37

2 जवाब

सबसे बढ़िया उत्तर

आपको कमांड के एग्जिट स्टेटस को चेक करना होगा। बैश में आप echo $? का उपयोग कर सकते हैं।

$hdfs dfs -test -d /tmp/testdir
$echo $?
1

ऊपर के उदाहरण से पता चलता है कि /tmp/testdir बाहर नहीं निकलता है।

0
Shubhangi 6 अक्टूबर 2017, 17:34
[oracle@bigdatalite tmp]$ hdfs dfs -ls 
Found 12 items
drwx------   - oracle oracle          0 2018-01-09 15:06 .Trash
drwxr-xr-x   - oracle oracle          0 2018-01-09 16:06 .sparkStaging
drwx------   - oracle oracle          0 2017-11-20 14:44 .staging
drwxr-xr-x   - oracle oracle          0 2017-01-15 17:19 indexMetadata
drwxr-xr-x   - oracle oracle          0 2017-01-15 17:19 jobRegistry
drwxr-xr-x   - oracle oracle          0 2018-10-02 11:04 kevin_learning
drwxr-xr-x   - oracle oracle          0 2017-01-15 17:19 mediademo
drwxr-xr-x   - oracle oracle          0 2017-01-15 17:19 moviedemo
drwxr-xr-x   - oracle oracle          0 2017-01-15 17:19 moviework
drwxr-xr-x   - oracle oracle          0 2017-01-15 17:19 oggdemo
drwxr-xr-x   - oracle oracle          0 2017-01-15 17:19 oozie-oozi
drwxrwxrwx   - oracle oracle          0 2017-11-17 16:39 tmp
[oracle@bigdatalite tmp]$ hdfs dfs -test -d kevin_learning
[oracle@bigdatalite tmp]$ echo $?
0
[oracle@bigdatalite tmp]$ hdfs dfs -test -d kevin_learning2
[oracle@bigdatalite tmp]$ echo $?
1
[oracle@bigdatalite tmp]$ 
0
kevin zhang 2 अक्टूबर 2018, 22:12