मैंने कुछ भी नहीं डाला है खूब जोर से पीटना, और यह है कि जब मैं अजगर की अद्भुत दुनिया में प्रवेश कर रहा हूं तो मैं इस दूसरे दोस्त के बारे में थोड़ा भूल गया हूं जिसने मेरी इतनी मदद की while
यहाँ मैंने बैश उत्साही लोगों के लिए कुछ रखा है, जैसा कि शीर्षक कहता है ... मैं आपको दिखाऊंगा कि कैसे सिस्टम में कोई फ़ाइल या फ़ोल्डर मौजूद है या नहीं, इसकी जाँच करें: if
हम एक .sh फ़ाइल बनाने जा रहे हैं और इसे निष्पादन की अनुमति देते हैं, इसके लिए, बस एक टर्मिनल में निम्नलिखित कमांड डालें:
टच टेस्ट.श && chmod + x test.sh
यह क्या किया फ़ाइल बना है (स्पर्श परीक्षण) और आपको निष्पादन की अनुमति भी देता है (chmod + x test.sh)
तो चलो निम्नलिखित में लिखते हैं:
if [ -d /opt/ ];
then
echo "Sí, sí existe."
else
echo "No, no existe"
fi
यह क्या करता है?
सरल 😀
पहली पंक्ति में - » अगर [-d / opt /];
यहां हम पूछते हैं, क्या / ऑप्ट / निर्देशिका मौजूद है? हां निर्देशिका / फ़ोल्डर, क्योंकि -d निर्देशिका या फ़ोल्डर का मतलब है।
फिर मामले में यह मौजूद है कि हम टर्मिनल में प्रिंट करेंगे «हाँ, यह मौजूद है।»(यह पंक्ति 2 और 3 है)
अन्यथा या ऑप्ट / मौजूद नहीं है, तो हम प्रिंट करेंगे «नहीं, यह मौजूद नहीं है»(लाइनें 4 और 5)
फिर अंतिम पंक्ति (संख्या 6) में हम अगर और इसे बंद करते हैं।
परीक्षण करें, यह आपको दिखाएगा कि / ऑप्ट / मौजूद है।
यदि आप चाहते हैं कि मैं आपको दूसरा पाठ (जो मौजूद नहीं है) बदल दें / किसी अन्य फ़ोल्डर के लिए / ऑप्ट / जो आपके सिस्टम में मौजूद नहीं है, उदाहरण के लिए: / asd /
जैसा कि आप देख सकते हैं, -d हमें यह जानने में मदद करता है कि क्या निर्देशिका मौजूद है, अच्छी तरह से अब अगर हम -d बदलकर -f यह फ़ाइलों के अस्तित्व की जांच करने के लिए है (-d = निर्देशिका, -f = फ़ाइल / फ़ाइल)
उदाहरण के लिए:
if [ -f /etc/hosts ];
then
echo "Sí, sí existe."
else
echo "No, no existe"
fi
यहाँ विकल्पों की सूची दी गई है:
-d -> जाँच करें कि क्या एक निश्चित निर्देशिका मौजूद है
-f -> जाँच करें कि क्या कोई निश्चित फ़ाइल मौजूद है
-w -> जांचें कि क्या किसी निश्चित फ़ाइल में अनुमतियाँ हैं
-x -> जांचें कि क्या किसी निश्चित फ़ाइल में निष्पादन की अनुमति है।
और अच्छी तरह से to जोड़ने के लिए बहुत कुछ नहीं है
मुझे पता है कि यह उन लोगों के लिए बहुत उपयोगी और दिलचस्प होगा जो बैश very में कार्यक्रम करना पसंद करते हैं
सादर
42 टिप्पणियाँ, तुम्हारा छोड़ दो
एक और तरीका है अगर बिना…
test -f /etc/hosts && elcomando
या भी
test ! -f /etc/hosts && echo "no se encontró el archivo"
आदि।
सही 😀
… O_O… क्या आप ह्यूगो, क्यूबा से ह्यूगो हैं? … विंडोज 8, डब्ल्यूटीएफ का उपयोग !!!
ठीक है, मैं इस ओएस से परिचित हो रहा हूं और अगर मुझे फ्रैंक होना है, तो केवल एक चीज जो मुझे उपयोगी लगी है वह है कॉपी मैनेजर, अन्यथा मुझे व्यक्तिगत रूप से यह एक दर्द है, खासकर इसके हाइब्रिड इंटरफेस और मेट्रो एप्लिकेशन। मुझे यह विस्टा और 7 से कम पसंद है (हालांकि इनकी तुलना में थोड़ा अधिक कुशल है), जो मुझे भी पसंद नहीं था। NFS13 और Skyrim को चलाने के लिए मैं इसका उपयोग कर रहा हूं, लेकिन यह OS इतना स्थान लेता है कि मुझे अपने Linux विभाजन [स्निफ़] को हटाना पड़ा।
हालांकि, आपकी मन की शांति के लिए, मैं आपको बताऊंगा कि कल से एक दिन पहले मैंने जनवरी के लिए आर्क आईएसओ डाउनलोड किया था और मैं इसे इसके x86-64 संस्करण में थोड़ा परीक्षण देने की योजना बना रहा हूं, जैसे ही मुझे रेपो मिलेगा (क्या आपके पास होगा?)। अब जब मैंने देखा कि यह डिफ़ॉल्ट रूप से हस्ताक्षरित पैकेजों का उपयोग करता है, तो यह मुझे गोता लगाने के लिए अधिक आत्मविश्वास देता है।
और मेरे पिता ने मुझे यह भी कहा कि वह मुझे एक सोनी एक्सपीरिया भेजेंगे, जिसका मैं एंड्रॉइड के लिए कुछ प्रोग्रामिंग सीखने का लाभ लेना चाहता हूं, जो कि एक लंबित इच्छा थी। तो शांत हो जाओ, मैं अभी तक बल के अंधेरे पक्ष में नहीं गया, बुआहाहा have
आदमी की परीक्षा
ज़रूर।
वेनस! ..
हम एक ही बना सकते हैं .. लेकिन एक पैरामीटर के रूप में निर्देशिका को पारित किया जाता है ..
if [ -d $1 ];
then
echo "Sí, sí existe."
else
echo "No, no existe"
fi
और हम इसे कहते हैं:
.test.sh / ऑप्ट /
शुभकामना..
IF एक चक्र xD नहीं है
यह मुझे एक स्क्रिप्ट के लिए एक दस्ताने की तरह सूट करता है जो मैं कर रहा हूं। क्या वाइल्डकार्ड का उपयोग करना वैध है? उदाहरण के लिए, यह पता लगाने के लिए कि क्या कोई .mp4s हैं, तो उन पर कुछ चलाएं।
अगर [-f * .mp4];
...
हां, यह पूरी तरह से वैध है।
मापदंडों के माध्यम से भी .. "* .mp4"
उदाहरण के
if [ -f $1 ];
then
rm -r $1
else
ls
fi
यदि आप इसे कहते हैं: ./test.sh * .mp4
अगर यह .mp4 फाइलें पाता है, तो यह उन्हें हटा देता है ... ... लेकिन यह उस निर्देशिका की फाइलों को सूचीबद्ध नहीं करता है ...
प्रतिक्रिया और सुझावों के लिए धन्यवाद! 🙂
आप f xD से चूक गए
rm -rf $ 1
यह अधिक रोमांचक है!
अद्भुत !!!, हर दिन मैं लिनक्स के साथ अधिक प्यार में पड़ जाता हूं, विंडोज को मेरे हार्ड ड्राइव के कुछ अंधेरे कोने में बदल दिया गया है, जो कि लिनक्स की रोशनी को रास्ता देने के लिए मिटा दिया जाएगा।
बहुत बढ़िया! .. फिर अगला कदम उठाएँ .. और इसे बाहर निकालें ..
6 महीने पहले लगभग। मेरे पास मेरी सभी मशीनों पर केवल GNU / Linux है और मुझे और अधिक की आवश्यकता नहीं है .. .. W $ $ .. या वाइन .. .. और मैं इससे ज्यादा खुश नहीं हूँ .. /
और मैं अपने परिवेश को संक्रमित कर रहा हूं .. क्योंकि हर कोई मुझे अपने आर्क, तेज, कुशल और खुशियों के साथ देखता है .. और वे मुझे लिनक्स स्थापित करने के लिए कहते हैं .. .. हाँ! .. ing
आप उन्हें विभिन्न एक्सटेंशन के लिए भी देख सकते हैं, आप कुछ का उपयोग कर सकते हैं
#! / Bin / bash
निर्देशिका = $ घर / डाउनलोड
अगर [$ निर्देशिका]; फिर
इको "यहाँ फ़ाइल प्रकारों की एक सूची है:"
इको "mp1, mp2, mp3, mp4, wav, flac, flaad, ऑड, मिडी"
ls {* .mp ?, *। wav, *। fla, *। ऑडिट * .midi}।
fi
{} का उपयोग करके आप इस मामले में ""? , एक वाइल्डकार्ड है, जो आपको "कोई भी वर्ण" लेने की अनुमति देता है।
मैं आप को जानने आशा
मैं कमांड को [निर्देशिका] [search_pattern] –exec [कमांड] {}} खोजने की सलाह देता हूं
यह काम नहीं करता है, मैं इन फ़ाइलों को निर्देशिका में रखता हूं:
AB20160420.TXT
AB20160421.TXT
AB20160422.TXT
AB20160423.TXT
AB20160424.TXT
AB20160425.TXT
खोज.श
#! / Bin / bash
पथ = / tmp / परीक्षण
सीडी $ रूट
ls -ला | awk '{प्रिंट »« $ 9}'
अगर [[-f एबी।टेक्स्ट]]; फिर
echo »यदि कोई AB है, तो IF दर्ज करें।टेक्स्ट "
fi
अगर [-f AB20160422.TXT]; फिर
गूंज "एक विशिष्ट एबी फ़ाइल के लिए इनपुट"
fi
जब मैंने [-f एबी.TXT] त्रुटि देता है
जब मैंने [[-f एबी.TXT]] एक त्रुटि नहीं देता है लेकिन फ़ाइल नहीं ढूंढ सकता है
यह केवल तभी काम करता है जब मैं एक विशिष्ट फ़ाइल डालता हूं, उदाहरण के लिए:
अगर [-f AB20160422.TXT]; फिर
मैं इसे वाइल्डकार्ड्स * या के साथ काम करने के लिए नहीं प्राप्त कर सकता हूं?
#! / usr / bin / env बैश
#.एन्कोडिंग = utf-8.
संपर्क करें
EXIT_OK = 0
EXIT_BAD = 66
BOLD = »\ 033 [1m»
NC = »\ 033 [0m»
लाल = »\ ०३३ [३१ मी»
अगर [! "$ 1"];
फिर
गूंज "एक पैरामीटर लापता"
$ EXIT_BAD से बाहर निकलें
fi
सीडी "$ 1"
फ़ाइलें = »ls -h1 $ 1»
$ ($ फ़ाइलें) में फ़ाइल के लिए; कर
इको-ई "आप यहाँ $ BOLD $ फ़ाइल $ nc के साथ कुछ भी कर सकते हैं"
किया
$ EXIT_OK से बाहर निकलें
@KZ, इस बारे में अधिक बताएं: "और ऐसा इसलिए है क्योंकि मैं पायथन की अद्भुत दुनिया में प्रवेश कर रहा हूं"!
हहहहहहहहहहहहहहहहहहहहहं नहह 🙂
मैं पाइथन में अभी भी एक नौसिखिया हूं, मेरे पास शायद ही घंटे और घंटे समर्पित करने का समय है, इसलिए मैं धीमे हां, धीमे लेकिन निश्चित रूप से अपने सीखने में bie
बहुत बहुत धन्यवाद yesterday कल ही मैं सोच रहा था कि यह कैसे करना है।
ncurses के साथ यह बहुत अच्छा है
1 शब्द में ... अत्यधिक!
लंबे समय से मैं इंटरनेट से डाउनलोड करने के लिए एक स्क्रिप्ट को पूरा कर रहा था, लेकिन मुझे समस्या यह थी कि यह उन फ़ाइलों को डाउनलोड करता था जो 1 और फिर से अस्तित्व 1ro को सत्यापित किए बिना सक्षम होने का अनुरोध करती थीं।
बहुत अच्छा तुतो।
चिली से यहाँ बहुत योगदान की सराहना की जाती है।
हर दिन अधिक LINUX सुखद आश्चर्य मुझे,
लंबे समय तक मुफ्त सॉफ्टवेयर MIERDAAAA।
के लिए सेवा करते हैं
जाँच करें कि कोई फ़ाइल किसी निर्देशिका से है या नहीं
अगर मैं किसी भी फाइल के पथ की जांच करना चाहता हूं «/ tmp / रिसीवर», किसी भी कमांड को निष्पादित करता है, तो यह कैसे होगा?
मैं बहुत आभारी रहूंगा
सादर
प्रिय, और अगर फ़ाइल पूरी तरह से आबादी है IF द्वारा निर्धारित करने के लिए ???। मैं यह पूछता हूं क्योंकि जब आप फ़ाइल को ट्रांसमिशन के लिए भर रहे हैं, तो इसे आधे डेटा के साथ भी ले जा सकते हैं।
आपकी प्रतिक्रिया के लिए बधाई और धन्यवाद।
वैसे मुझे लगता है कि आपको एक उदाहरण भी जोड़ना चाहिए, जैसे "जांचें कि कोई" फ़ाइल "या" निर्देशिका "उदाहरण के रूप में नहीं है"
यह जाँचने के लिए कि यह मौजूद नहीं है, उदाहरण के लिए एक चर-> का उपयोग करें
एक निर्देशिका
#! / Bin / bash
निर्देशिका = »$ घर / परीक्षण निर्देशिका»
फ़ाइल = »$ गृह / परीक्षण फ़ाइल»
अगर [! -d "$ निर्देशिका"]; फिर
गूंज "कोई $ निर्देशिका नहीं है"
गूंज "बनाना ->" $ निर्देशिका "
mkdir "$ निर्देशिका"
अन्य
गूंज "निर्देशिका" $ निर्देशिका "पहले से मौजूद है
fi
अगर [! -d "$ फ़ाइल"]; फिर
गूंज "फ़ाइल $ मौजूद नहीं है"
गूंज "बनाना ->" $ फ़ाइल "
"$ फ़ाइल" स्पर्श करें
अन्य
इको "फाइल" $ फाइल "पहले से मौजूद है
fi
जब आप mkdir की जाँच बाद में करते हैं अगर टर्मिनल इसे बना सकता है क्योंकि यह गेंदों को तोड़ सकता है यदि यह रूट या सिस्टम के रूप में एक फ़ोल्डर है
अभिवादन KZKG ^ गैरा एक क्वेरी के रूप में मैं कर्ल का उपयोग करने के लिए करूँगा। मैं यह जानना चाहूंगा कि मैं कंसोल से एक url को कैसे देखता हूं, यह देखने के लिए कि क्या यह उदाहरण के लिए उपलब्ध है http://portal.com/directorio/archivo1.php फ़ाइल 1 कहाँ विज़िट IPs का भंडारण करेगा, यह एक टीम की निगरानी के लिए है जिसे मुझे हर आधे घंटे में उस पिन को बनाने की आवश्यकता है ताकि मैं सार्वजनिक आईपी से अवगत हो जाऊं क्योंकि यह समय-समय पर बदलता है और मैं ssh से कनेक्ट नहीं कर सकता ।
अभिवादन अग्रिम धन्यवाद भगवान आपको आशीर्वाद दें।
नमस्ते,
सबसे पहले, आपको यह कहना होगा कि IP चर (उदाहरण के लिए) उस फ़ाइल की सामग्री है, इसके लिए आपको यह करना होगा:
1. फ़ाइल डाउनलोड करें
2. इसकी सामग्री देखें और वहां से आईपी प्राप्त करें
3. वह IP वैरिएबल है
उदाहरण के लिए:
यहां हम फ़ाइल डाउनलोड करते हैं - »wget http://portal.com/directorio/archivo1.php -ओ फाइल.एचटीएमएल
फिर हम एक वैरिएबल का कंटेंट असाइन करते हैं: - »: $ {IP: =` cat file.html`}
.. यह मानते हुए कि उस फ़ाइल की सामग्री में केवल IP है, यदि नहीं, तो आपको grep, awk या head के साथ काम करना होगा।
एक बार जब आपके पास एक चर के रूप में आईपी है, तो बाकी दुनिया में सबसे सरल चीज है as
अगर आप मुझे ईमेल (kzkggaara [at] desdelinux [dot] net) पर लिखना चाहते हैं, तो मुझे खुशी होगी कि मैं आपकी मदद करूँगा
बहुत बहुत आभार kzkggaara को धन्यवाद।
नमस्ते, मुझे कंप्यूटिंग के बारे में ज्यादा समझ नहीं है और मुझे नहीं पता कि यह पोस्ट मेरे पास मौजूद समस्या से संबंधित है या नहीं।
यदि आप एक वर्ष पहले के पोस्ट से हैं, तो मैं आपको पढ़ता हूं:
यह पता चला है कि मैंने अपने डेस्कटॉप पर कुछ वीडियो स्टोर करने के लिए एक फ़ोल्डर बनाया है। खैर, मैंने उन वीडियो को हटा दिया क्योंकि मुझे अब उनकी आवश्यकता नहीं थी और अब यह फ़ोल्डर मुझे बताता है कि यह मौजूद नहीं है (भले ही यह मेरे डेस्कटॉप पर दिखाई दे रहा है)।
- यह मेरी पहली समस्या है:
मैं फ़ोल्डर नहीं हटा सकता।
- दूसरी समस्या और मुझे लगता है कि अधिक महत्वपूर्ण:
फ़ोल्डर को हटाने के प्रयास में, मैंने एक फ़ोटो फ़ोल्डर डाला। अब जब मैं फ़ोल्डर खोलता हूं कि "मौजूद नहीं है" यह खाली है और फोटो नहीं हैं।
मैं फ़ोटो कैसे पुनर्प्राप्त कर सकता हूं? मैंने "छुपे हुए दस्तावेज़ दिखाएँ" फ़ोल्डर के अंदर विकल्प दिया है, लेकिन फ़ोटो फ़ोल्डर दिखाई नहीं देता है।
मुझे आशा है कि आप जान सकते हैं कि यह कैसे हल किया जाता है।
शुक्रिया.
दो उपयोगकर्ता हैं जो मुख्य हैं: रूट और your_user (उदाहरण के लिए नतालिया)। वे दोनों व्यक्तिगत फ़ोल्डर है। your_user in / home और रूट इन / (रूट डायरेक्टरी)। फ़ोल्डर पर राइट क्लिक करके देखें कि यह किसका है। अगर यह आपके फ़ाइल मैनेजर के साथ root है, तो sudo या gksu या kdesu का उपयोग करके उस वातावरण पर निर्भर करता है, जिसका उपयोग आप रूट डायरेक्टरी -> रूट -> डेस्कटॉप पर जाते हैं और आपको शायद तस्वीरें मिल जाएंगी और आप फ़ोल्डर को हटा सकते हैं। कुछ डिस्ट्रोस जब आप फ़ाइल या डायरेक्टरी के मालिक नहीं होते हैं और आपके पास एक्सेस अनुमतियां नहीं होती हैं, तो आपको बताती हैं कि निर्देशिका / फ़ाइल मौजूद नहीं है। यदि आप स्वामी हैं और आप रूट नहीं हैं, तो फ़ाइल मैनेजर के साथ sudo, आदि के साथ ऐसा ही करें और रूट डायरेक्टरी -> / home -> personal_folder -> डेस्कटॉप पर जाएं और देखें कि क्या तस्वीरें हैं और यदि आप फ़ोल्डर को हटा सकते हैं।
यदि यह काम नहीं करता है, तो आपको टर्मिनल (कंसोल) से अन्य विकल्प देखने होंगे।
हाय, आप कैसे हैं? मैं काम कर रहा हूँ और मैं यह जानना चाहता हूँ कि कीबोर्ड से दर्ज की गई कोई निर्देशिका कैसे हो, उदाहरण के लिए
#! / Bin / bash
मार्ग पढ़ें
#Enter ~ / डेस्कटॉप
# फिर मैं उस निर्देशिका को नेविगेट करने की कोशिश करता हूं
cd $ पथ
# मुझे निम्नलिखित बैश संदेश मिलता है: सीडी: ~ / डेस्कटॉप: फ़ाइल या निर्देशिका मौजूद नहीं है
मेरा सवाल है, मैं ऐसा क्या कर सकता हूं कि मैं इसे कीबोर्ड से दर्ज करता हूं और इसे निर्देशिका पथ के रूप में लेता हूं?
और मुझे कैसे पता चलेगा कि कोई समूह मौजूद है,
अच्छा मुझे अपने कनैमा में एक समस्या है जब मैं बटन क्यूनागुआरो दबाता हूं तो यह कहता है कि कोई फ़ाइल या निर्देशिका नहीं है क्योंकि यह उस समस्या को हल करने के लिए करेगा और बाकी नहीं खुलता है कृपया धन्यवाद दें।
यदि फिल्नाम में स्थान है तो आप BASH में कैसे करते हैं?
उदाहरण के लिए:
अप्रैल data.xlsx
यह पूछने के लिए कि क्या फ़ाइल मौजूद है
कार्लोस, इस तरह:
अगर [["$ चर" == डेटा \ _ \ _ \ _ का अप्रैल / अप्रैल।]]; फिर इको 'माचिस'; फाई
आप यह भी कर सकते हैं:
अगर [["$ चर" == 'अप्रैल के महीने का डेटा। xxx']]; फिर इको 'माचिस'; फाई
एक अन्य विकल्प:
[["$ परिवर्तनीय" == 'अप्रैल के लिए डेटा। xxx']] && गूंज 'मैच' || गूंज 'मेल नहीं खाता'
इंटरनेट के कुछ अंधेरे क्षेत्रों में वे [[]] के बजाय [] का उपयोग करने की सलाह देते हैं, और यदि आप संख्याओं की तुलना करने जा रहे हैं तो: ((चर> = 3)) और& गूंज 'चर 3 से अधिक या बराबर है' || गूंज 'चर 3 से कम है'
इसलिए, संख्याओं के लिए:
अगर (संख्या! = 4)); फिर प्रतिध्वनि "$ {संख्या} 4 नहीं है"; और प्रतिध्वनि "$ {संख्या} 4 है"; फाई
यदि निर्देशिका के पास कोई विशिष्ट पाठ है, तो उसे संपादित करने में सक्षम होने के लिए आप एक कोड कैसे बना सकते हैं।
उदाहरण:
अगर (पाठ 1)
कुछ मत करो
अन्य
टेक्स्ट 1 को टेक्स्ट 2 में बदलें
एक सवाल यह है कि अगर फाइल मौजूद है या नहीं, तो हर 15 सेकंड में यह कैसे होगा, धन्यवाद।
नमस्कार,
यह:
अगर [-w / घर / कोमुन / लॉग / ती]; फिर
पता करें कि क्या फाइल राइट है। लेकिन यह उपयोगकर्ता की अनुमति पर आधारित है। क्या यह पता लगाने के लिए किया जा सकता है कि क्या समूह या अन्य के पास अनुमति है?