बॅश स्क्रिप्ट्समध्ये डिरेक्टरीची उपस्थिती सत्यापित करणे
बॅश शेल स्क्रिप्ट लिहिताना, ऑपरेशन्स करण्यापूर्वी डिरेक्टरीचे अस्तित्व सत्यापित करणे आवश्यक असते. निर्देशिका अस्तित्वात असल्याची खात्री केल्याने त्रुटी टाळता येतात आणि तुमच्या स्क्रिप्ट अधिक मजबूत होतात.
या मार्गदर्शकामध्ये, आम्ही बॅश शेल स्क्रिप्टमध्ये निर्देशिका अस्तित्वात आहे की नाही हे तपासण्यासाठी वापरली जाणारी कमांड एक्सप्लोर करू. ही पद्धत स्क्रिप्टिंग कार्यांसाठी आवश्यक आहे ज्यात निर्देशिका हाताळणी आणि प्रमाणीकरण समाविष्ट आहे.
आज्ञा | वर्णन |
---|---|
-d | डिरेक्टरी अस्तित्वात आहे की नाही हे तपासण्यासाठी बॅश कंडिशनल एक्सप्रेशन वापरले जाते. |
if | कंडिशनवर आधारित कोड कार्यान्वित करण्यासाठी Bash, Python आणि PowerShell मध्ये एक सशर्त विधान सुरू करते. |
os.path.isdir() | निर्दिष्ट पथ विद्यमान निर्देशिका आहे की नाही हे तपासण्यासाठी पायथन फंक्शन वापरले जाते. |
Test-Path | पाथ अस्तित्वात आहे की नाही हे तपासण्यासाठी आणि त्याचा प्रकार (फाइल किंवा निर्देशिका) निर्धारित करण्यासाठी पॉवरशेल cmdlet वापरला जातो. |
print() | एक पायथन फंक्शन जे कन्सोलला संदेश आउटपुट करते. |
Write-Output | एक PowerShell cmdlet जे कन्सोल किंवा पाइपलाइनवर आउटपुट पाठवते. |
निर्देशिका अस्तित्व स्क्रिप्ट समजून घेणे
बॅश लिपी शेबंगने सुरू होते (#!/bin/bash), स्क्रिप्ट बॅश शेलमध्ये कार्यान्वित केली जावी असे सूचित करते. स्क्रिप्ट व्हेरिएबलसाठी निर्देशिका पथ सेट करते १. सशर्त विधान if [ -d "$DIR" ] वापरून निर्दिष्ट निर्देशिका अस्तित्वात आहे का ते तपासते -d झेंडा. निर्देशिका अस्तित्वात असल्यास, ती "डिरेक्टरी अस्तित्वात आहे" असे मुद्रित करते. अन्यथा, ते "डिरेक्टरी अस्तित्वात नाही" असे छापते. ही स्क्रिप्ट डिरेक्टरीच्या उपस्थितीवर अवलंबून असलेल्या स्वयंचलित कार्यांसाठी उपयुक्त आहे.
पायथन उदाहरणामध्ये, स्क्रिप्ट आयात करते os मॉड्यूल, जे नावाचे फंक्शन प्रदान करते ५. हे फंक्शन निर्दिष्ट पथ निर्देशिका आहे का ते तपासते. कार्य check_directory युक्तिवाद म्हणून मार्ग घेते आणि वापरते ५ तो अस्तित्वात आहे की नाही हे निर्धारित करण्यासाठी, योग्य संदेश मुद्रित करणे. पॉवरशेल स्क्रिप्ट वापरते Test-Path निर्देशिकेचे अस्तित्व तपासण्यासाठी cmdlet. द ९ पॅरामीटर पथ एक निर्देशिका असल्याचे सुनिश्चित करते. निर्देशिका अस्तित्वात असल्यास, ते "डिरेक्टरी अस्तित्वात आहे." आउटपुट करते; अन्यथा, ते "डिरेक्टरी अस्तित्वात नाही" असे आउटपुट करते.
बॅश स्क्रिप्ट्समध्ये निर्देशिका अस्तित्व तपासत आहे
बॅश शेल स्क्रिप्ट
#!/bin/bash
# Script to check if a directory exists
DIR="/path/to/directory"
if [ -d "$DIR" ]; then
echo "Directory exists."
else
echo "Directory does not exist."
fi
निर्देशिका उपस्थिती सत्यापित करण्यासाठी पायथन वापरणे
पायथन स्क्रिप्ट
१
PowerShell वापरून निर्देशिका अस्तित्व तपासा
पॉवरशेल स्क्रिप्ट
# PowerShell script to check if a directory exists
$dir = "C:\path\to\directory"
if (Test-Path -Path $dir -PathType Container) {
Write-Output "Directory exists."
} else {
Write-Output "Directory does not exist."
}
निर्देशिका पडताळणीसाठी प्रगत तंत्रे
निर्देशिका अस्तित्वासाठी मूलभूत तपासण्यांच्या पलीकडे, प्रगत स्क्रिप्टिंगमध्ये अतिरिक्त प्रमाणीकरण चरणांचा समावेश असू शकतो. उदाहरणार्थ, निर्देशिका परवानग्या तपासणे महत्त्वपूर्ण असू शकते. बॅश मध्ये, द -r निर्देशिका वाचनीय आहे की नाही हे ध्वजांकित करते, -w ते लिहिण्यायोग्य आहे का ते तपासते आणि -x ते एक्झिक्युटेबल आहे का ते तपासते. डिरेक्टरी केवळ अस्तित्वात नाही तर स्क्रिप्टच्या ऑपरेशनसाठी आवश्यक परवानग्या देखील आहेत याची खात्री करण्यासाठी हे ध्वज सशर्त विधानांमध्ये एकत्र केले जाऊ शकतात.
आणखी एक प्रगत तंत्रामध्ये निर्देशिका अस्तित्वात नसल्यास ते तयार करणे समाविष्ट आहे. बॅश मध्ये, द mkdir -p आवश्यक असल्यास संपूर्ण मार्ग तयार केल्याचे कमांड सुनिश्चित करते. त्याचप्रमाणे, पायथनमध्ये, द os.makedirs() फंक्शन समान उद्देश पूर्ण करते. ही तंत्रे तुमच्या स्क्रिप्टची मजबुतता आणि लवचिकता वाढवतात, ज्यामुळे ते विविध परिस्थिती सुंदरपणे हाताळतात.
डिरेक्टरी चेकबद्दल वारंवार विचारले जाणारे प्रश्न
- Bash मध्ये डिरेक्टरी वाचनीय आहे की नाही हे मी कसे तपासू?
- कमांड वापरा १५ निर्देशिका वाचनीय आहे का ते तपासण्यासाठी.
- बॅशमध्ये निर्देशिका अस्तित्वात नसल्यास मी कशी तयार करू?
- कमांड वापरा mkdir -p "$DIR" निर्देशिका आणि त्याचे पालक अस्तित्वात नसल्यास ते तयार करण्यासाठी.
- च्या समतुल्य काय आहे mkdir -p पायथन मध्ये?
- Python मध्ये समतुल्य कमांड आहे १८.
- डिरेक्टरीला बॅशमध्ये लिहिण्याची परवानगी आहे की नाही हे मी कसे तपासू?
- कमांड वापरा [ -w "$DIR" ] निर्देशिका लिहिण्यायोग्य आहे का ते तपासण्यासाठी.
- मी एकाच बॅश स्टेटमेंटमध्ये अनेक चेक एकत्र करू शकतो का?
- होय, तुम्ही वापरून चेक एकत्र करू शकता -a तार्किक आणि साठी २१ तार्किक OR साठी.
- Bash मध्ये डिरेक्ट्री एक्झीक्यूटेबल आहे की नाही हे मी कसे तपासू?
- कमांड वापरा [ -x "$DIR" ] निर्देशिका एक्झिक्युटेबल आहे का ते तपासण्यासाठी.
- निर्देशिका तपासताना मी पायथनमधील अपवाद कसे हाताळू?
- पायथनमधील डिरेक्टरी तपासताना अपवाद हाताळण्यासाठी वापरून पहा-वगळून ब्लॉक्स.
- काय करते Test-Path cmdlet PowerShell मध्ये करू?
- द Test-Path cmdlet पथ अस्तित्वात आहे का आणि त्याचा प्रकार (फाइल किंवा निर्देशिका) तपासते.
डिरेक्टरी चेकवरील अंतिम विचार
डिरेक्ट्री अस्तित्वात आहे याची खात्री करणे हे स्क्रिप्टिंगमध्ये एक मूलभूत काम आहे. Bash, Python, किंवा PowerShell मधील योग्य कमांड्स वापरून, तुम्ही चुका टाळू शकता आणि तुमच्या स्क्रिप्ट्स सुरळीत चालतील याची खात्री करू शकता. चर्चा केलेली तंत्रे, जसे की परवानग्या तपासणे आणि ते अस्तित्वात नसताना निर्देशिका तयार करणे, तुमच्या स्क्रिप्टमध्ये मजबूती वाढवतात. तुम्ही कार्ये स्वयंचलित करत असाल किंवा अधिक क्लिष्ट स्क्रिप्ट तयार करत असाल, या पद्धती निर्देशिका प्रमाणीकरण हाताळण्यासाठी एक विश्वासार्ह पाया प्रदान करतात.