Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

आउटपुट को कैसे दबाएं और जांचें कि कोई कमांड सफल है या नहीं?

अपडेट करें :

  • if ($LASTEXITCODE -eq 0) ... दृष्टिकोण बाहरी कार्यक्रमों के साथ मजबूती से काम करना जारी रखेगा।
  • हालांकि, यदि और कब पूर्व-v7.2 प्रयोगात्मक विशेषता नाम PSNotApplyErrorActionToStderr एक आधिकारिक विशेषता बन जाती है, if ($?) ... भी मजबूती से काम करेगा - देखें यह जवाब अधिक जानकारी के लिए।

$LASTEXITCODE -eq 0 का उपयोग करें के बजाय $? गैर-शून्य निकास कोड का मज़बूती से पता लगाने के लिए (आमतौर पर सिग्नलिंग विफलता) एक बाहरी कार्यक्रम द्वारा रिपोर्ट किया गया।

फिर आप *> $null का उपयोग कर सकते हैं सभी आउटपुट को स्पष्ट रूप से दबाने के लिए $? . पर उस पुनर्निर्देशन के प्रभाव के बारे में चिंता किए बिना :

mysql -u root --password=mypass -e "show databases" *>$null
if ($LASTEXITCODE -eq 0) {
  "Hooray!"
} else {
  "Boo!"
}

एक पुनर्निर्देशन का उपयोग करना जिसमें PowerShell की त्रुटि स्ट्रीम शामिल है - या तो स्पष्ट रूप से 2> . के माध्यम से या परोक्ष रूप से *> . के माध्यम से - का अर्थ है कि यदि उस स्ट्रीम के माध्यम से कोई डेटा प्राप्त होता है - जिसका बाहरी प्रोग्राम को कॉल करने के मामले में stderr से कोई भी आउटपुट होता है - पॉवरशेल $? सेट करता है से $false

हालांकि, बाहरी कंसोल/टर्मिनल प्रोग्राम के दायरे में, stderr का उपयोग केवल त्रुटि को आउटपुट करने के लिए नहीं किया जाता है। जानकारी, लेकिन कोई भी जानकारी जो डेटा नहीं है , जैसे स्थिति की जानकारी। इसलिए, आप stderr आउटपुट की उपस्थिति से विफलता का अनुमान नहीं लगा सकते हैं

बाहरी कंसोल/टर्मिनल प्रोग्राम केवल अपने निकास कोड . के माध्यम से अपनी सफलता की स्थिति का संचार करते हैं , जिसे PowerShell स्वचालित $LASTEXITCODE . में दर्शाता है चर।

ऊपर से यह पता चलता है कि $? $false हो सकता है भले ही एग्जिट कोड 0 . हो , इसलिए यह एक विश्वसनीय सफलता संकेतक नहीं है - $LASTEXITCODE . के विपरीत




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. यूनियन (Mysql) पर ORDER BY लागू करें

  2. एंड्रॉइड ऐप से पढ़ने के लिए PHP से JSON ऑब्जेक्ट कैसे वापस करें

  3. MySQL GROUP BY... भिन्न मान समान फ़ील्ड होने के कारण

  4. MySQL GROUP BY विभिन्न तालिकाओं से कई कॉलम

  5. Bind_result बनाम get_result का उपयोग कैसे करें इसका उदाहरण