यह कमांड एसक्यूएसएच है जिसे हमारे कई मुफ्त ऑनलाइन वर्कस्टेशन जैसे कि उबंटू ऑनलाइन, फेडोरा ऑनलाइन, विंडोज ऑनलाइन एमुलेटर या मैक ओएस ऑनलाइन एमुलेटर का उपयोग करके ऑनवर्क्स फ्री होस्टिंग प्रदाता में चलाया जा सकता है।
कार्यक्रम:
नाम
sqsh - इंटरैक्टिव डेटाबेस शेल (संस्करण 2.1.7)
SYNOPSIS
एसक्यूएसएच [[विकल्प]] [[तर्क......]]
[ -एक गिनती ]
[-एक पैकेट आकार]
[ -बी ]
[ -बी ]
[-सी [सेमीडेंड] ]
[-सी एसक्यूएल]
[-डी गंभीरता]
[-डी डेटाबेस]
[ -इ ]
[-ई संपादक]
[ -एफ गंभीरता ]
[-जी टीडीएस_संस्करण]
[ -एच ]
[-एच होस्टनाम]
[-i फ़ाइल नाम]
[-I इंटरफ़ेस]
[-जे वर्णसेट]
[ -k कीवर्ड ]
[-के कीटैब]
[-एल डिबग_फ्लैग्स]
[-एल वर=मूल्य]
[-एम शैली]
[-एन चालू|बंद]
[-एन ऐपनाम]
[-o फ़ाइल नाम]
[ -पी ]
[-पी [पासवर्ड] ]
[-क्यू क्वेरी_टाइमआउट]
[ -r [sqshrc] ]
[-आर सर्वर प्रिंसिपल]
[ -एस कोलसेप ]
[-एस सर्वर]
[ -t [फ़िल्टर] ]
[-टी लॉगिन_टाइमआउट]
[-यू उपयोक्तानाम]
[ -v ]
[ -V [bcdimoqru]]
[-डब्ल्यू चौड़ाई]
[ -एक्स ]
[-y निर्देशिका]
[ -z भाषा ]
[ -Z [secmech|default|none] ]
वर्णन
Sqsh (उच्चारण स्क्विश) SQshelL (उच्चारण sq-shell) का संक्षिप्त रूप है, और इसका उद्देश्य एक है
Sybase द्वारा प्रदत्त आदरणीय 'isql' प्रोग्राम के लिए प्रतिस्थापन। के कारण ऐसा हुआ
एक ऐसे कार्यक्रम के साथ वास्तविक काम करने की कोशिश करने की वर्षों की निराशा जिसका उद्देश्य कभी नहीं था
वास्तविक कार्य करें.
Sqsh एक अच्छे प्रॉम्प्ट से कहीं अधिक है, इसका उद्देश्य अधिकांश कार्यक्षमता प्रदान करना है
एक अच्छे शेल द्वारा प्रदान किया गया, जैसे वेरिएबल, अलियासिंग, पुनर्निर्देशन, पाइप, बैक-ग्राउंडिंग,
कार्य नियंत्रण, इतिहास, कमांड प्रतिस्थापन और गतिशील कॉन्फ़िगरेशन। इसके अलावा, एक उपमा के रूप में-
डिज़ाइन का उत्पाद, इसे विस्तारित करना और कार्यक्षमता जोड़ना उल्लेखनीय रूप से आसान है।
विकल्प
एसक्यूएसएच के कुछ व्यवहार को समायोजित करने के लिए निम्नलिखित विकल्पों का उपयोग किया जा सकता है, हालांकि यह बड़ा है
कॉन्फ़िगरेशन विकल्पों का हिस्सा केवल पर्यावरण चर के माध्यम से उपलब्ध है
जिसे रनटाइम पर या .sqshrc फ़ाइल के माध्यम से सेट किया जा सकता है।
विकल्प SQSH पर्यावरण चर में भी प्रदान किए जा सकते हैं। यह वेरिएबल पार्स किया गया है
कमांड लाइन को पार्स करने से पहले, इसलिए ज्यादातर मामलों में कमांड लाइन ओवरराइड हो जाएगी
चर की सामग्री. ध्यान रखें कि जिन विकल्पों की आपूर्ति की अनुमति है
कई बार, जैसे -c, उन दोनों को एक वेरिएबल और कमांड लाइन पर आपूर्ति करेगा
कमांड लाइन पर उन्हें कई बार आपूर्ति करने के समान हो।
-एक गिनती
अधिकतम सेट करता है गणना विफलताओं की (जैसा कि $thresh_fail वैरिएबल द्वारा निर्धारित किया गया है)।
एसक्यूएसएच के निरस्त होने से पहले हो सकता है। इसे 0 पर सेट करना इंगित करता है कि sqsh को ऐसा नहीं करना चाहिए
त्रुटियों पर बाहर निकलें. यह मान डिफ़ॉल्ट रूप से 0 है और इसे $thresh_exit का उपयोग करके भी सेट किया जा सकता है
चर। खंड देखें बाहर निकलें स्थिति ब्योरा हेतु।
-एक पैकेट आकार
SQL सर्वर के साथ संचार करने के लिए उपयोग किए जाने वाले नेटवर्क TDS पैकेट का आकार निर्दिष्ट करता है।
यह मान 512 और 8192 के बीच होना चाहिए, और 512 का गुणज होना चाहिए। अपना एसक्यूएल जांचें
समर्थित पैकेट आकार निर्धारित करने के लिए सर्वर कॉन्फ़िगरेशन। यह मान भी हो सकता है
$packet_size वेरिएबल का उपयोग करके रन-टाइम पर निर्दिष्ट किया गया।
-बी स्टार्टअप पर बैनर संदेश को दबाएँ। यह उन मामलों में अनावश्यक है जहां stdout
एक फ़ाइल पर पुनर्निर्देशित कर दिया गया है। यह विकल्प $banner वेरिएबल के माध्यम से भी सेट किया जा सकता है।
-B stdin, stdout, और stderr की सभी बफ़रिंग बंद कर देता है। यह सुविधा sqsh को होने की अनुमति देती है
चैट और एक्सपेक्ट जैसी इंटरैक्टिव नियंत्रण स्क्रिप्ट से चलाएं।
-सी [सेमीडेन्ड]
आंतरिक रूप से sqsh कमांड प्रदान करता है \जाना डेटाबेस में SQL का एक बैच भेजने के लिए और
एक एकल उपनाम प्रदान करता है, go इस आदेश के लिए. हर बार cmdend एक नया उपनाम दिया गया है
एसटी \जाना स्थापित है।
-सी एसक्यूएल
का कारण बनता है एसक्यूएल प्रदर्शित समान व्यवहार के समान, एसक्यूएसएच द्वारा निष्पादित किया जाने वाला आदेश
-i ध्वज द्वारा. यह एसक्यूएल कथन में दोहरे उद्धरण चिह्न नहीं हो सकते (यह सीमा हो सकती है
एसक्यूएसएच की भविष्य की रिलीज में हटा दिया जाएगा)।
-डी गंभीरता
न्यूनतम SQL सर्वर त्रुटि गंभीरता सेट करता है जो उपयोगकर्ता को प्रदर्शित की जाएगी।
डिफ़ॉल्ट 0 है, और मान्य श्रेणियाँ 0 से 22 तक हैं। इसे इसका उपयोग करके भी सेट किया जा सकता है
$thresh_display वैरिएबल। खंड देखें बाहर निकलें स्थिति.
-डी डेटाबेस
आपके डेटाबेस संदर्भ सेट के साथ प्रारंभ करने का प्रयास करने के लिए sqsh का कारण बनता है डेटाबेस बजाय
आपका डिफ़ॉल्ट डेटाबेस (आमतौर पर मास्टर)। इसे $डेटाबेस का उपयोग करके भी सेट किया जा सकता है
चर।
-e आउटपुट में शामिल करने के लिए sqsh को जारी किए गए प्रत्येक कमांड को शामिल करता है। यह विकल्प हो सकता है
$echo वैरिएबल के माध्यम से भी सेट किया जा सकता है (जो कि इससे असंबंधित है)। \गूंज आदेश)।
-ई संपादक
डिफ़ॉल्ट संपादक को इस पर सेट करें संपादक. इसे UNIX वातावरण का उपयोग करके भी सेट किया जा सकता है
वांछित संपादक के नाम पर परिवर्तनीय $EDITOR।
-एफ गंभीरता
न्यूनतम निर्धारित करता है तीव्रता स्तर को एसक्यूएसएच द्वारा विफलता माना जाता है। ये वैसा ही है
$thresh_fail वैरिएबल सेट करना। खंड देखें बाहर निकलें स्थिति ब्योरा हेतु।
-जी टीडीएस_संस्करण
उपयोग के लिए टीडीएस संस्करण सेट करें। वैध संस्करण 4.0, 4.2, 4.6, 4.9.5, 5.0 और फ़्रीटेड हैं
अतिरिक्त रूप से संस्करण 7.0 और 8.0 का समर्थन करता है। निर्दिष्ट मान को असाइन किया गया है
परिवर्तनीय $tds_version. इनपुट सत्यापन sqsh द्वारा नहीं किया जाता है। हालाँकि, जब ए
अमान्य टीडीएस संस्करण निर्दिष्ट है, 5.0 का डिफ़ॉल्ट संस्करण उपयोग किया जाएगा। बाद एक
सत्र सेटअप है, वेरिएबल $tds_version प्रभावी रूप से TDS संस्करण पर सेट किया जाएगा।
यदि विकल्प -जी का उपयोग नहीं किया जाता है तो वेरिएबल उपलब्ध नहीं होगा। परीक्षण के लिए और
केवल डिबगिंग प्रयोजन।
टीडीएस का मतलब टेब्यूलर डेटा स्ट्रीम है और यह संचार प्रोटोकॉल साइबेस है
Microsoft क्लाइंट-सर्वर संचार के लिए उपयोग करता है।
-h बैच आउटपुट से कॉलम हेडर और अनुगामी "(# प्रभावित पंक्तियाँ)" को बंद कर देता है।
-एच होस्टनाम
sysprocesses में रिपोर्ट किए गए अनुसार क्लाइंट होस्टनाम सेट करता है। इसे के माध्यम से भी सेट किया जा सकता है
$होस्टनाम वैरिएबल.
-मैं फ़ाइल नाम
से सभी इनपुट पढ़ें फ़ाइल का नाम stdin के बजाय.
-मैं इंटरफ़ेस
जब डेटाबेस से कोई कनेक्शन स्थापित किया जाता है, तो इंटरफेस फाइल को घुमाने के लिए प्रयोग किया जाता है
होस्टनाम और पोर्ट जिससे कनेक्शन बनाया जाएगा, में $DSQUERY का मान,
डिफ़ॉल्ट रूप से यह $SYBASE/इंटरफ़ेस में स्थित है। यह ध्वज इस डिफ़ॉल्ट को होने की अनुमति देता है
अधिरोहित।
-जे चारसेट
SQL के साथ संचार करने के लिए क्लाइंट पक्ष पर उपयोग किए जाने वाले वर्ण सेट को निर्दिष्ट करता है
सर्वर. इसे $charset पर्यावरण चर का उपयोग करके भी सेट किया जा सकता है।
-k कीवर्ड
कीवर्ड टैब पूर्णता के लिए उपयोग किए जाने वाले कीवर्ड की सूची वाली एक फ़ाइल निर्दिष्ट करता है,
यदि रीडलाइन समर्थन को एसक्यूएसएच में संकलित किया गया है। इस फ़ाइल को के माध्यम से भी सेट किया जा सकता है
$keyword_file वैरिएबल, जो डिफ़ॉल्ट रूप से $HOME/.sqsh_words है।
-के कीटैब
केर्बरोस समर्थन. DCE के लिए कीटैब फ़ाइल नाम निर्दिष्ट करें।
विवरण के लिए नीचे कर्बेरोस सहायता अनुभाग देखें।
-एल डिबग_फ्लैग
यदि sqsh को -DDEBUG के साथ संकलित किया गया है, तो इस विकल्प का उपयोग चालू और बंद करने के लिए किया जा सकता है
डिबगिंग विकल्प. नीचे $debug वेरिएबल देखें।
-एल वर=मूल्य
$var का मान सेट करता है मूल्य. इसका उपयोग किसी भी sqsh का मान निर्धारित करने के लिए किया जा सकता है
वैरिएबल भले ही सेट करने के लिए एक स्पष्ट कमांड लाइन वैरिएबल प्रदान किया गया हो
परिवर्तनशील। -L ध्वज का उपयोग गैर-कॉन्फ़िगरेशन चर के मान को सेट करने के लिए किया जा सकता है
अच्छी तरह से।
-एम शैली
वर्तमान प्रदर्शन शैली को बदलता है अंदाज. वर्तमान में समर्थित शैलियाँ हैं क्षितिज,
हरा रंग, BCP, csv, HTML, मेटा, सुंदर और कोई नहीं. वर्तमान प्रदर्शन शैली भी सेट की जा सकती है
$style वैरिएबल का उपयोग करके या इसके माध्यम से -m को ध्वजांकित करें \जाना आदेश।
-एन चालू|बंद
कनेक्ट पर श्रृंखलाबद्ध लेनदेन मोड सक्षम करता है (यदि चालू पर सेट है)। जंजीरदार लेनदेन मोड
इसे "ऑटोकॉमिट ऑफ" मोड के रूप में भी जाना जाता है।
-एन ऐपनाम
SQL सर्वर पर स्वयं को पहचानने के लिए उपयोग किए जाने वाले एप्लिकेशन नाम sqsh को सेट करें।
एप्लिकेशन का नाम कॉलम का उपयोग करके सर्वर से प्राप्त किया जा सकता है कार्यक्रम का नाम का
मास्टर.dbo.sysprocesses तालिका। के लिए डिफ़ॉल्ट एसक्यूएसएच-2.1.7.
-ओ फ़ाइल नाम
सभी आउटपुट को पुनर्निर्देशित करता है फ़ाइल का नाम स्टडआउट के बजाय।
-p प्रत्येक SQL बैच के पूरा होने पर प्रदर्शन आँकड़े प्रदर्शित करें। यह विकल्प हो सकता है
$statistics वैरिएबल के माध्यम से, या आपूर्ति करके भी चालू किया जा सकता है -p को ध्वजांकित करें \जाना
आदेश।
-पी [पासवर्ड]
साइबेस पासवर्ड एसटी उपयोगकर्ता नाम से कनेक्ट करना आवश्यक है सर्वर (डिफ़ॉल्ट, शून्य)।
पासवर्ड $password के माध्यम से भी सेट किया जा सकता है। '-' का पासवर्ड देने से इसका कारण बनता है
stdin की पहली पंक्ति से पढ़ा जाने वाला पासवर्ड।
कमांड लाइन देखने का प्रयास करने वाले किसी भी उपयोगकर्ता से पासवर्ड छिपाने के लिए एसक्यूएसएच को कड़ी मेहनत करनी पड़ती है
एसक्यूएसएच लॉन्च करने के लिए उपयोग किया जाता है, इसलिए उपयोग कर रहे हैं -P सुरक्षा छेद नहीं बनना चाहिए.
वैकल्पिक रूप से, आप अपना डिफ़ॉल्ट पासवर्ड .sqshrc फ़ाइल में संग्रहीत कर सकते हैं जो कि नहीं है
आपके अलावा किसी और के द्वारा पढ़ने योग्य। (chmod 600 .sqshrc)
-क्यू मान
क्वेरी टाइमआउट मान (isql के -t विकल्प के बराबर)। यदि सेट किया गया है, तो लंबा समय समाप्त हो जाएगा
चल रही क्वेरी. के लिए मानचित्र $query_timeout चर।
उदाहरण के लिए:
एसक्यूएसएच -एसएएसई1502 -यूएसए -पी -क्यू30
ASE1502.sa.master.1> सीडी टिक्स
ASE1502.sa.tix.1> E_TIX से गिनती (*) चुनें;
क्लाइंट संदेश खोलें
परत 1, उत्पत्ति 2, गंभीरता 2, संख्या 63
ct_results(): उपयोगकर्ता एपीआई परत: आंतरिक क्लाइंट लाइब्रेरी त्रुटि:
सर्वर से पढ़ने का समय समाप्त हो गया है.
ASE1502: क्वेरी या कमांड टाइमआउट का पता चला, कमांड/बैच रद्द कर दिया गया
ASE1502: क्लाइंट कनेक्शन ने 1 बार इसका पता लगाया है।
यह भी देखें $max_timeout वेरिएबल, जो टाइमआउट की संख्या को नियंत्रित करता है
सत्र निरस्त होने से पहले वर्तमान कनेक्शन पर होता है।
-आर [वर्गश्रृंखला]
एक विकल्प निर्दिष्ट करता है .sqshrc फ़ाइल को डिफ़ॉल्ट के बजाय संसाधित किया जाना है। अगर कोई नहीं
sqshrc निम्नलिखित आपूर्ति की जाती है -r, तो कोई आरंभीकरण फ़ाइल संसाधित नहीं होती है। यह झंडा
चाहिए कमांड लाइन पर दिया गया पहला तर्क होगा, अन्य सभी उदाहरण होंगे
अवहेलना करना।
-आर सर्वर_प्रिंसिपल
कर्बरोस समर्थन: निर्दिष्ट करता है a सर्वर प्रमुख नेटवर्क के लिए उपयोग करने के लिए (Kerberos)
प्रमाणीकरण, यदि इंटरफ़ेस फ़ाइल में सर्वर का नाम वास्तविक सर्वर से भिन्न है
नाम.
विवरण के लिए नीचे कर्बेरोस सहायता अनुभाग देखें।
-एस कोलसेप
स्ट्रिंग का कारण बनता है कोलसेप इसका उपयोग SQL कॉलम आउटपुट कॉलम को परिसीमित करने के लिए किया जाना है
डिफ़ॉल्ट " " है।
-एस सर्वर
साइबेस का नाम सर्वर कनेक्ट करने के लिए, इसका डिफ़ॉल्ट बाहरी है
पर्यावरण चर $DSQUERY. यदि न तो -S न ही $DSQUERY सेट है तो डिफ़ॉल्ट
"साइबेस"। यह मान आंतरिक चर $DSQUERY के माध्यम से भी सेट किया जा सकता है।
-टी [फ़िल्टर]
बाहरी प्रोग्राम के माध्यम से कमांड बैचों को फ़िल्टर करने में सक्षम बनाता है, फ़िल्टर, और इससे पहले
SQL सर्वर पर भेजा जा रहा है। अगर फ़िल्टर आपूर्ति नहीं की जाती है, तो $filter_prog का उपयोग किया जाता है
(डिफ़ॉल्ट 'm4 -' है)। यह मान $filter और $filter_prog के माध्यम से भी सेट किया जा सकता है
चर।
-टी मान
लॉगिन टाइमआउट निर्दिष्ट करता है (isql के -l ध्वज के समान)। यदि सेट संख्या निर्दिष्ट करता है
सेकंड का एसक्यूएसएच लॉगिन अनुरोध का समय समाप्त होने से पहले प्रतीक्षा करेंगे। के लिए मानचित्र
$लॉगिन_टाइमआउट चर।
-यू उपयोक्तानाम
साइबेस उपयोगकर्ता नाम डेटाबेस से कनेक्ट करने के लिए, यह डिफ़ॉल्ट उपयोगकर्ता नाम है
उपयोगकर्ता चल रहा है एसक्यूएसएच। उपयोगकर्ता नाम $username वेरिएबल के माध्यम से भी सेट किया जा सकता है।
-v संस्करण संख्या, $संस्करण और निकास प्रदर्शित करता है।
-V [bcdimoqru]
कर्बेरोस समर्थन: उपयोग करने के लिए सुरक्षा विकल्प निर्दिष्ट करें।
विवरण के लिए नीचे कर्बेरोस सहायता अनुभाग देखें।
-w चौड़ाई
अधिकतम आउटपुट चौडाई प्रदर्शित परिणाम सेट में, यह आपकी स्क्रीन की चौड़ाई पर डिफ़ॉल्ट होता है
इंटरैक्टिव मोड में।
-एक्स क्लाइंट-साइड पासवर्ड एन्क्रिप्शन (यदि) के साथ सर्वर से लॉगिन कनेक्शन शुरू करता है
का समर्थन किया)। यदि या तो SQL सर्वर इस विकल्प को नहीं पहचानता है, या यदि इसका संस्करण
संकलन के लिए CT-Lib का उपयोग किया जाता है एसक्यूएसएच इस विकल्प का समर्थन नहीं करता है, तो इसे अनदेखा कर दिया जाएगा।
यह विकल्प $एन्क्रिप्शन पर्यावरण चर का उपयोग करके भी सेट किया जा सकता है।
-y निर्देशिका
एक SYBASE निर्दिष्ट करता है डायरेक्टरी खोजने के लिए $SYBASE के मान के अलावा अन्य का उपयोग करना
इंटरफ़ेस फ़ाइल.
-z भाषा
एक विकल्प निर्दिष्ट करता है भाषा एसक्यूएसएच संकेत और संदेश प्रदर्शित करने के लिए। के बिना -z
ध्वज, सर्वर की डिफ़ॉल्ट भाषा का उपयोग किया जाएगा। इसका उपयोग करके भी सेट किया जा सकता है
$भाषा चर.
-Z [सेक्मेच|डिफ़ॉल्ट|कोई नहीं]
कर्बेरोस समर्थन: उपयोग करने के लिए सुरक्षा तंत्र निर्दिष्ट करें।
विवरण के लिए नीचे कर्बेरोस सहायता अनुभाग देखें।
तर्क...
यदि sqsh को इसके साथ चलाया जाता है -i संसाधित की जाने वाली इनपुट फ़ाइल को निर्दिष्ट करने वाला ध्वज (बजाय)।
एक इंटरैक्टिव सत्र शुरू करना), कमांड लाइन पर तर्क प्रदान किए जा सकते हैं
इनपुट फ़ाइल में भेजा जाएगा। इन तर्कों तक वेरिएबल ${0} का उपयोग करके पहुंचा जा सकता है,
${1}, ... (देखें चर अधिक जानकारी के लिए नीचे अनुभाग)।
आरंभीकरण
स्टार्टअप पर, sqsh सभी आंतरिक पर्यावरण चर, कमांड और उपनाम प्रारंभ करता है
उनके डिफ़ॉल्ट मानों के लिए, यह सिस्टम-व्यापी कॉन्फ़िगरेशन फ़ाइल, /etc/sqshrc में दिखता है,
इसके बाद एक स्थानीय कॉन्फ़िगरेशन फ़ाइल $HOME/.sqshrc (इसे इसके माध्यम से ओवरराइड किया जा सकता है
SQSHRC बाहरी वातावरण चर)। यदि यह फ़ाइल मिल जाती है तो इसे ठीक उसी तरह निष्पादित किया जाता है
स्क्रिप्ट का उपयोग किया जाएगा -i झंडा।
RSI .sqshrc हालाँकि, फ़ाइल में कुछ भी हो सकता है जिसे सामान्यतः प्रॉम्प्ट पर टाइप किया जा सकता है
यह ध्यान दिया जाना चाहिए कि जिस समय यह फ़ाइल पढ़ी जा रही है, उस समय sqsh ने अभी तक स्थापित नहीं किया है
डेटाबेस से कनेक्शन, हालाँकि अधिकांश कमांड जो डेटाबेस गतिविधि करते हैं, जैसे
\जाना निष्पादित होने पर डेटाबेस कनेक्शन स्थापित करने का प्रयास करेगा (यह आपको संकेत भी दे सकता है
यदि आवश्यक हो तो पासवर्ड के लिए)। इसके अलावा, यदि इस स्टार्टअप के भीतर डेटाबेस गतिविधि की आवश्यकता है
फ़ाइल, \जोड़ना आदेश (देखें कमानों, नीचे) निष्पादित किया जा सकता है।
के बाद .sqshrc फ़ाइल निष्पादित कर दी गई है, एसक्यूएसएच फिर किसी भी कमांड लाइन विकल्प को पार्स करता है (इस प्रकार)।
आपके द्वारा सेट किया गया कोई भी वेरिएबल .sqshrc फ़ाइल को कमांड लाइन विकल्पों द्वारा ओवरराइड किया जा सकता है)।
उसके बाद, यदि एसक्यूएसएच इंटरैक्टिव मोड में चलाया जाता है (अर्थात् बिना -i और यदि stdin है
एक ट्टी से जुड़ा हुआ), फिर यह ढूंढता है .sqsh_इतिहास और उस फ़ाइल की सामग्री को लोड करता है
इस इतिहास बफ़र में (देखें बफ़र्स, नीचे)।
डेटाबेस से कनेक्शन स्थापित करने से तुरंत पहले (या तो स्टार्टअप के दौरान, या
एक स्पष्ट द्वारा \जोड़ना or \पुनः कनेक्ट करें कमांड), फ़ाइल $HOME/.sqsh_session निष्पादित की जाती है।
$session वेरिएबल का उपयोग करके इस फ़ाइल का नाम ओवरराइड किया जा सकता है।
आदेश line
जब कोई पंक्ति सबसे पहले पढ़ी जाती है एसक्यूएसएच, पहला शब्द पंक्ति से अलग किया गया है। इस शब्द
फिर सभी वेरिएबल्स का विस्तार किया जाता है (देखें)। परिवर्तनीय प्रतिस्थापन, नीचे), आदेश के बाद
विस्तार (देखें आदेश प्रतिस्थापन, नीचे)। परिणामी स्ट्रिंग का पहला शब्द है
फिर यह देखने के लिए विश्लेषण किया गया कि क्या यह वैध है एसक्यूएसएच आदेश या उपनाम.
RSI एसक्यूएसएच कमांड लाइन बॉर्न शेल के समान कई नियमों का पालन करती है, जो फ़ाइल की अनुमति देती है
समान सिंटैक्स के माध्यम से पुनर्निर्देशन, पाइपलाइनिंग, कमांड प्रतिस्थापन और बैक-ग्राउंडिंग।
टिप्पणियाँ
a से प्रारंभ होने वाली कोई भी पंक्ति # इसके बाद एक गैर-अल्फ़ान्यूमेरिक वर्ण (कोई अन्य वर्ण) आता है
0-9, एज़, एज़, और _) की तुलना में पूरी लाइन को नजरअंदाज कर दिया जाता है। संभव के कारण
टी-एसक्यूएल सत्र विशिष्ट अस्थायी-तालिका नामों के साथ टकराव, यदि लाइन को नजरअंदाज नहीं किया जाएगा
के बाद पहला अक्षर #, अक्षरांकीय है.
का हवाला देते हुए
एसक्यूएसएच में विशेष कीवर्ड या वर्णों की व्याख्या को रोकने के लिए उद्धरण का उपयोग किया जाता है,
जैसे व्हाइट-स्पेस, वेरिएबल विस्तार, या कमांड प्रतिस्थापन। ये तीन प्रकार के होते हैं
उद्धरण, बच, एकल कोट, तथा डबल उद्धरण.
एकल उद्धरण चिह्नों में वर्ण संलग्न करने से प्रत्येक की शाब्दिक व्याख्या सुरक्षित रहती है
उद्धरण चिह्नों के भीतर समाहित चरित्र। एक एकल उद्धरण एकल उद्धरण के भीतर प्रकट नहीं हो सकता है,
यहां तक कि जब भागने से पहले भी. उदाहरण के लिए:
1> \echo मैं '$username' का विस्तार नहीं कर सकता
outputs के
मैं $username का विस्तार नहीं कर सकता
\\ वर्णों का उपयोग अर्थ से बचने (और इस प्रकार व्याख्या को रोकने) के लिए किया जाता है
पात्र तुरंत उनका अनुसरण कर रहा है। \ वर्ण स्वयं बच सकता है। के लिए
उदाहरण:
1> \echo मैं '$username' का विस्तार नहीं कर सकता
outputs के
मैं $username का विस्तार नहीं कर सकता
किसी पंक्ति को निष्पादित करने के लिए एस्केप कैरेक्टर का उपयोग नई-लाइन से बचने के लिए भी किया जा सकता है
निरंतरता, इस मामले में नई-पंक्ति को हटा दिया जाता है और निरंतर रेखा होती है
पिछली पंक्ति में स्वचालित रूप से जोड़ा गया, उदाहरण के लिए:
1> \प्रतिध्वनि नमस्ते \
--> विश्व!
नमस्ते दुनिया!
वर्णों को दोहरे उद्धरण चिह्नों में संलग्न करने से सभी वर्णों का शाब्दिक अर्थ सुरक्षित रहता है
के अपवाद के साथ उनके भीतर $, ', तथा \. एक दोहरा उद्धरण भीतर समाहित किया जा सकता है
इससे बचकर दोहरे उद्धरण चिह्न लगाएं।
1> \echo "\\"मैं इससे इनकार नहीं कर सकती, मुझे $username पसंद है\\", उसने कहा"
प्रिंट आउट
"मैं इससे इनकार नहीं कर सकती, मुझे ग्रे रंग पसंद है", उसने कहा
विस्तार
इनपुट की एक पंक्ति पढ़ने के बाद, एसक्यूएसएच किसी भी उपनाम की पंक्ति का विस्तार करने का प्रयास (देखें
एलियासिंग, नीचे), इसके बाद यह निर्धारित करने का प्रयास किया जाता है कि क्या रेखा a से शुरू होती है
कमांड कीवर्ड. एक बार जब एक पंक्ति में एक कमांड नाम निर्धारित किया जाता है तो उसमें दो नाम होते हैं
विस्तार के प्रकार ने इसे पूरा किया: परिवर्तनशील प्रतिस्थापन, द्वारा पीछा आदेश
प्रतिस्थापन क्रमश। इस विस्तार के बाद कमांड लाइन को अलग कर दिया गया है
शब्द और आदेश निष्पादित किया जाता है।
परिवर्तनीय प्रतिस्थापन
वर्ण $ का उपयोग किसी शब्द के भीतर परिवर्तनीय प्रतिस्थापन या विस्तार को इंगित करने के लिए किया जाता है।
इन वेरिएबल्स को मान निर्दिष्ट किया जा सकता है \सेट इस प्रकार आदेश दें:
1> \सेट नाम=मूल्य
नाम एक वर्ण या अंडरस्कोर हो सकता है जिसके बाद वर्णों, अंकों का कोई संयोजन हो,
या अंडरस्कोर, और इसमें कोई विशेष वर्ण नहीं हो सकते हैं, जैसे (') और (")।
पहले अक्षर के अंक होने पर प्रतिबंध लगाया गया है क्योंकि SQL इसकी अनुमति देता है
धन डेटा प्रकारों को $nn.nn के रूप में प्रस्तुत करना जहां n एक अंक है।
मूल्य इसमें कुछ भी शामिल हो सकता है, हालाँकि यदि इसमें श्वेत-स्थान शामिल करना है, तो यह होना ही चाहिए
उद्धृत (देखें) शब्द & का हवाला देते हुए, ऊपर)। ध्यान दें कि a के विस्तार को रोकने के लिए
वैरिएबल या तो सिंगल कोट्स या दो \'s का उपयोग करें, जैसे:
1> \गूंज \\$नाम
$ नाम
चरों को दो तरीकों में से एक में संदर्भित किया जा सकता है:
$variable इस तरीके से सभी वर्णों, अंकों और अंडरस्कोर को माना जाता है नाम
जब तक किसी अन्य प्रकार का चरित्र (या तो एक विशेष चरित्र, या) तक नहीं पहुंच जाता, तब तक चर का
एक श्वेत-स्थान)। ${variable} ब्रेसिज़ की आवश्यकता तभी होती है जब परिवर्तनशील इसके बाद ए
अक्षर, अंक, या अंडरस्कोर जिसकी व्याख्या उसके नाम के भाग के रूप में नहीं की जानी है। ध्यान दें कि
दोहरे उद्धरण चिह्नों का उपयोग करके समान प्रभाव प्राप्त किया जा सकता है।
यह ध्यान दिया जाना चाहिए कि क्योंकि कमांड को तोड़ने से पहले वेरिएबल का विस्तार किया जाता है
शब्दों में पंक्तिबद्ध करें, यदि चर की सामग्री में सफेद रिक्त स्थान हैं, तो उन्हें इस रूप में माना जाएगा
पार्सर द्वारा महत्वपूर्ण. निम्नलिखित उदाहरण में:
1> \सेट x='1 2 3'
1> \प्रतिध्वनि $x
la \गूंज कमांड को तीन तर्क प्राप्त होते हैं, "1", "2", और "3", हालांकि ऐसा लगता है
इसमें केवल एक तर्क पारित किया गया था। यह व्यवहार अधिकांश शैलों (जैसे कि) के अनुरूप है
सीएसएच, बॉर्न शेल, आदि)।
आदेश प्रतिस्थापन
Sqsh विस्तार के दूसरे रूप का समर्थन करता है जिसे कहा जाता है आदेश प्रतिस्थापन। का यह रूप
विस्तार बाहरी UNIX के आउटपुट के साथ कमांड लाइन पर एक कमांड को प्रतिस्थापित करता है
आज्ञा। यह विस्तार निष्पादित की जाने वाली कमांड लाइन को स्थापित करके प्राप्त किया जा सकता है
बैक-कोट्स (`)। उदाहरण के लिए:
1> \सेट पासवर्ड=`/sybase/bin/getpwd $DSQUERY`
1> \echo $password
मुझे अचार पसंद हैं
यह उदाहरण, बाहरी प्रोग्राम /sybase/bin/getpwd करंट के साथ निष्पादित किया जाता है
$DSQUERY पर्यावरण चर की सामग्री, संपूर्ण अभिव्यक्ति को फिर से बदल दिया जाता है
का आउटपुट getpwd (मुझे अचार पसंद हैं) निष्पादित करने से पहले \सेट आदेश। डिफ़ॉल्ट रूप से,
प्रतिस्थापित कमांड के आउटपुट को पहले सामग्री के अनुसार शब्दों में तोड़ा जाता है
कमांड लाइन में वापस एक साथ असेंबल करने से पहले $ifs वेरिएबल। तो, द्वारा
$ifs की सामग्री को ओवरराइड करने से आप प्रतिस्थापन प्रक्रिया के व्यवहार को प्रभावित कर सकते हैं।
उदाहरण के लिए:
1> \set ifs=':'
1> \echo `echo hello:कैसे:हैं:आप`
नमस्ते, आप कैसे हैं
यह तंत्र अक्सर इनपुट फ़ाइलों को पार्स करने के लिए उपयोगी होता है, जैसे कि / Etc / पासवर्ड में
क्षेत्रों.
इनपुट / आउटपुट पुनप्रेषण
जैसा कि मानक बॉर्न शेल (और उस मामले के लिए अधिकांश अन्य शेल) के साथ होता है, एक कमांड का इनपुट
और आउटपुट को शेल द्वारा व्याख्या किए गए एक विशेष नोटेशन का उपयोग करके पुनर्निर्देशित किया जा सकता है।
निम्नलिखित कमांड लाइन पर कहीं भी दिखाई दे सकता है, लेकिन केवल पुनर्निर्देशन जो निर्दिष्ट है
पूर्व पाइप के लिए (|) का वास्तव में आंतरिक sqsh कमांड के व्यवहार पर कोई प्रभाव पड़ता है
(को देखें पाइप्स, नीचे)।
<word
फ़ाइल का प्रयोग करें शब्द कमांड के लिए मानक इनपुट के रूप में। आमतौर पर बहुत कम एसक्यूएसएच
आदेश वास्तव में stdin से कुछ भी पढ़ते हैं, इसलिए इसका आमतौर पर कोई प्रभाव नहीं पड़ेगा (देखें)।
la \कुंडली आदेश)।
[n]>शब्द
फ़ाइल डिस्क्रिप्टर के आउटपुट को संबद्ध करें n (स्टडआउट, डिफ़ॉल्ट रूप से) फ़ाइल के साथ शब्द। अगर यह
फ़ाइल मौजूद नहीं है, यह बनाई गई है; अन्यथा इसे शून्य लंबाई तक छोटा कर दिया जाता है।
[n]>>शब्द
फ़ाइल डिस्क्रिप्टर का आउटपुट जोड़ें n (स्टडआउट, डिफ़ॉल्ट रूप से) फाइल करने के लिए शब्द, इसे बनाना
यदि यह अस्तित्व में नहीं है.
[एम]>&एन
फ़ाइल डिस्क्रिप्टर के आउटपुट को पुनर्निर्देशित करें m (डिफ़ॉल्ट रूप से stdout), फ़ाइल के समान आउटपुट पर
वर्णनकर्ता n. कमांड लाइन पर पुनर्निर्देशन निर्दिष्ट करने का क्रम है
महत्वपूर्ण है, क्योंकि पुनर्निर्देशन का मूल्यांकन बाएँ से दाएँ किया जाता है। उदाहरण के लिए:
1> चयन से * चुनें /* सिंटैक्स त्रुटि */
2> \go >/tmp/आउटपुट 2>&1
यह कथन पहले मानक आउटपुट को पुनर्निर्देशित करता है \जाना फ़ाइल को आदेश दें
/tmp/आउटपुट, फिर stderr को उसी फ़ाइल पर रीडायरेक्ट करता है। इसलिए, जब आदेश विफल हो जाते हैं,
त्रुटि आउटपुट फ़ाइल में मिलेगा /tmp/आउटपुट.
हालाँकि, पुनर्निर्देशन के क्रम को बदलकर, आप अर्थ को पूरी तरह से बदल सकते हैं:
1> चयन से * चुनें
2> \go 2>&1 >/tmp/आउटपुट
संदेश 156, स्तर 15, राज्य 1
सर्वर 'SQSH_TEST', पंक्ति 1
कीवर्ड 'सेलेक्ट' के पास गलत सिंटैक्स।
इस स्थिति में, त्रुटि आउटपुट stdout को भेजा जाएगा, जबकि क्या गया होगा
stdout को पुनर्निर्देशित किया गया है /tmp/आउटपुट (इस मामले में /tmp/आउटपुट खाली हो जाएगा).
कृपया इस अनुभाग को पढ़ें पृष्ठभूमि नौकरियां, बातचीत पर विस्तृत जानकारी के लिए नीचे
फ़ाइल पुनर्निर्देशन और पृष्ठभूमि नौकरियों के बीच।
पाइप्स
A पाइपलाइन '|' द्वारा अलग किए गए एक या अधिक कमांड का अनुक्रम है, प्रत्येक कमांड का उपयोग किया जाता है
अपने स्वयं के stdin के लिए पूर्ववर्ती प्रोग्राम का stdout। हालाँकि में पहला आदेश
पाइपलाइन एक sqsh कमांड होना चाहिए, और अन्य सभी कमांड बाहरी (या UNIX) होने चाहिए
कार्यक्रम. किसी भी एसक्यूएसएच कमांड को पाइपलाइन के माध्यम से चलाया जा सकता है, हालांकि उनमें से कई के लिए (जैसे
जैसा \सेट आदेश) वास्तव में ऐसा करने का कोई मतलब नहीं है। निम्नलिखित है एक
ए का उदाहरण पाइपलाइन:
1> syslogins से * चुनें
2> \जाओ | अधिक
यह आदेश द्वारा उत्पन्न परिणाम सेट का कारण बनता है \जाना को आदेश भेजा जाएगा अधिक(1)
प्रोग्राम, जो फिर इसे आपकी स्क्रीन पर भेजता है, डेटा से भरी प्रत्येक स्क्रीन पर रुकता है (यह है)।
प्राथमिक कारण यह है कि मैंने एसक्यूएसएच लिखा)।
जिस तरह से sqsh निपटता है उसमें कई विशिष्टताएँ हैं पाइप लाइनें विरोध के रूप में
जिस तरह से मानक बॉर्न शेल उनके साथ व्यवहार करता है।
पाइप (|) वर्ण की पहली घटना के बाद सब कुछ सफेद रंग में टूट जाता है-
अंतरिक्ष सीमांकित शब्द, जिसमें '2>&1' और अन्य जैसे विशेष शेल कमांड शामिल हैं
पाइपों की घटनाएँ. यदि इन शब्दों में कोई चर निहित है तो वे हैं
जैसा कि वर्णित है, उन्हीं उद्धरण नियमों का पालन करते हुए विस्तार किया गया है शब्द & का हवाला देते हुए, ऊपर, के साथ
एक अपवाद यह है कि सभी उद्धरण यथास्थान छोड़ दिए गए हैं। इन शब्दों को फिर से एक में जोड़ दिया जाता है
एकल स्ट्रिंग और भेज दिया गया / बिन / श प्रसंस्करण के लिए।
संक्षेप में, sqsh यह व्याख्या करने का कोई प्रयास नहीं करता है कि पहले पाइप के बाद क्या होता है, इसके बजाय यह है
कार्य करने के लिए "वास्तविक" शेल में भेज दिया गया। इसके पीछे तर्क यह है कि मैं आलसी था
और सभी समान विचित्र परिवर्तनीय प्रबंधन, &&'ing, ||'ing, को लिखने का मन नहीं हुआ।
समूहीकरण, और परिवर्तनीय विस्तार नियम जिनका बॉर्न शेल समर्थन करता है, और इसके बजाय मैंने जाने दिया
बॉर्न गंदा काम करते हैं.
इस पद्धति का लाभ यह है कि आप इसके बाद कुछ बहुत जटिल कार्य कर सकते हैं
पाइपलाइन, जैसे:
1> सिस्कोल्यूमन्स से * चुनें
2> \जाओ | (सी.डी / Tmp; संपीड़ित -c > sysolumns.Z)
ऐसा नहीं है कि मैं ऐसा करने का कोई वास्तविक कारण सोच सकता हूँ...लेकिन यदि आप चाहें तो आप ऐसा कर सकते हैं।
पृष्ठभूमि नौकरियां
बैकग्राउंडिंग एक तंत्र प्रदान करता है जिससे आप किसी भी sqsh कमांड को बैकग्राउंड के रूप में चला सकते हैं
प्रक्रिया करें और चलने के दौरान काम करना जारी रखें। Sqsh दो प्रकार की पृष्ठभूमि प्रदान करता है:
स्थगित
इस मोड में sqsh बैकग्राउंड जॉब के सभी आउटपुट को एक अस्थायी फ़ाइल पर रीडायरेक्ट करता है
(निर्देशिका $tmp_dir में स्थित) जब कार्य चल रहा हो, ताकि आउटपुट हो
आप वर्तमान में जिस पर काम कर रहे हैं उसके साथ मिश्रित नहीं है। जब काम पूरा हो जाएगा तो आप हैं
प्रक्रिया पूरी होने की सूचना दी जाएगी और आउटपुट का उपयोग करके देखा जा सकता है \दिखाना
आदेश।
गैर आस्थगित
यह UNIX के अंतर्गत पृष्ठभूमि प्रक्रिया के सामान्य विचार से मेल खाता है। इस मोड में
कार्य का आउटपुट आपके लिए अप्रत्यक्ष रूप से पुनर्निर्देशित नहीं है, और इस प्रकार बन सकता है
आप वर्तमान में जो काम कर रहे हैं उसके साथ मिश्रित। आपके द्वारा चुना गया मोड चयन है
$defer_bg वैरिएबल के माध्यम से चयन योग्य (जो डिफ़ॉल्ट रूप से '1' या 'चालू' होता है)। आमतौर पर
उपयोग न करने का एकमात्र कारण स्थगित मोड का उद्देश्य बड़े परिणाम सेटों को भरने से रोकना है
आपका फ़ाइल सिस्टम.
यह निर्दिष्ट करने के लिए कि कोई कार्य पृष्ठभूमि में चलाया जाए, बस इसके अंत में & जोड़ें
कमांड लाइन, जैसे:
1> sp_long_ardous_proc 1, 30
2> \जाओ &
कार्य #1 चल रहा है [xxxx]
1>
जब sqsh कमांड लाइन के अंत में & का सामना करता है तो यह एक चाइल्ड प्रोसेस (साथ) को जन्म देता है
की एक यूनिक्स प्रक्रिया आईडी xxxx) फिर चाइल्ड प्रोसेस कॉल करता है \जाना. \जाना फिर आदेश दें
डेटाबेस से एक नया कनेक्शन स्थापित करता है ($DSQUERY के वर्तमान मानों का उपयोग करके,
$ उपयोगकर्ता नाम, $ पासवर्ड चर) और दिखाई गई क्वेरी निष्पादित करता है। जबकि कार्य निष्पादित हो रहा है
आदेश \नौकरियां \इंतज़ार और \मारना वर्तमान में चल रहे कार्य की निगरानी या परिवर्तन के लिए उपयोग किया जा सकता है
(खंड देखें कमानों, नीचे)। जब कोई कार्य पूरा हो जाएगा तो एसक्यूएसएच एक अधिसूचना प्रदर्शित करेगा,
जैसे कि:
1>से गिनती(*) चुनें
कार्य #1 पूर्ण (आउटपुट लंबित)
2>
जब कोई कार्य पूरा हो जाता है, यदि उसका कोई आउटपुट नहीं होता है, तो उसे तुरंत समाप्त माना जाता है
चालू नौकरियों की वर्तमान सूची में दिखाई नहीं देगा। हालाँकि अगर पूरा काम है
लंबित आउटपुट, इसे चालू कार्य के रूप में प्रदर्शित किया जाना जारी रहेगा \नौकरियां आदेश)
जब तक \दिखाना कार्य के आउटपुट को प्रदर्शित करने के लिए उपयोग किया जाता है।
कृपया, पाइप के साथ संयोजन में उपयोग किए जाने पर जॉब बैकग्राउंडिंग में एक ज्ञात बग है
को देखें बग मैनुअल के अंत में अनुभाग.
बफ़र
सामान्य तौर पर आईएसक्यूएल केवल दो बफ़र बनाए रखे गए हैं; वह बफ़र जिसमें आप वर्तमान में हैं
टाइपिंग, और एक बफ़र जिसमें अंतिम बैच निष्पादित होता है (इसे कब तक रखा जाता है
आप 'vi', या 'संपादित करें') चलाते हैं।
Sqsh बफ़र्स के कई अलग-अलग सेट बनाए रखता है:
काम बफर: यह बफ़र सीधे से मेल खाता है आईएसक्यूएल कार्य बफ़र. यह बफर है
जिसमें आप वर्तमान बैच को डेटाबेस में भेजने से पहले दर्ज करते हैं।
इतिहास बफर: यह वास्तव में 0 या अधिक बफ़र्स की एक श्रृंखला है (इसके द्वारा कॉन्फ़िगर किया जा सकता है)।
$histsize वैरिएबल) चलाए गए अंतिम $histsize बैचों में से। यह बफ़र ही है
जब एसक्यूएसएच इंटरैक्टिव मोड में चलाया जाता है तो बनाए रखा जाता है; अर्थात्, का उपयोग करके निष्पादित बैच -i
ध्वज, या UNIX प्रॉम्प्ट से पुनर्निर्देशन के माध्यम से निष्पादित इतिहास में बनाए नहीं रखा जाएगा
(आखिरकार, वे पहले से ही कहीं फ़ाइल में हैं)।
यदि वेरिएबल $histave सत्य है (अनुभाग देखें)। विशेष चर), और sqsh अंदर है
इंटरैक्टिव मोड, तब वर्तमान इतिहास बफ़र को $HOME/.sqsh_history पर लिखा जाता है
आप बाहर निकलें. अगली बार जब इसे इंटरैक्टिव में प्रारंभ किया जाता है तो यह फ़ाइल वापस sqsh में पढ़ी जाती है
मोड।
नामांकित बफ़र: सत्र के दौरान किसी भी समय काम बफर, या इनमें से कोई भी इतिहास बफ़र
का उपयोग करके नामित बफ़र में कॉपी किया जा सकता है \buf-कॉपी आदेश (अनुभाग देखें) कमानों,
नीचे)। जब आप बाहर निकलते हैं तो ये बफ़र्स खो जाते हैं (हालांकि आप इसका उपयोग कर सकते हैं \buf-बचाओ को आज्ञा
नामित बफ़र्स को फ़ाइल में सहेजें)।
बफर लघु हाथ
कई कमांड इन सभी बफ़र्स को संक्षेप में संदर्भित करने की अनुमति देते हैं
उस तरीके के समान csh(1) इसके कमांड इतिहास का संदर्भ देता है। इनमें से कोई भी आशुलिपि
किसी के लिए भी इस्तेमाल किया जा सकता है बफर में वर्णित पैरामीटर कमानों खंड:
!. वर्तमान कार्य बफ़र.
!! अंतिम आदेश निष्पादित किया गया (ध्यान दें, यह गैर-इंटरैक्टिव मोड में उपलब्ध नहीं है
कोई इतिहास नहीं रखता)
!+ अगली उपलब्ध इतिहास प्रविष्टि। यह केवल लिखने वाला बफ़र है, इसलिए आमतौर पर केवल
जैसे आदेशों पर लागू होता है \buf-कॉपी.
!n इतिहास #n को संदर्भित करता है। हर बार जब कोई प्रविष्टि इतिहास में लिखी जाती है तो उसे एक सौंपा जाता है
अंतिम प्रविष्टि से बढ़ती हुई संख्या, इस संक्षिप्त-हस्त से आप किसी का भी संदर्भ ले सकते हैं
इतिहास दिया.
!buf_name
केवल एकरूपता के लिए इसे नामित बफ़र के संदर्भ के रूप में प्रदान किया जाता है buf_name, तथापि
buf_name अग्रणी के बिना '!' सही भी माना जाता है.
buf_name
नामित बफ़र को संदर्भित करता है buf_name.
चर
चर को कार्य बफ़र्स के भीतर भी समाहित किया जा सकता है। इन परिस्थितियों में
जब तक बफ़र को डेटाबेस में नहीं भेजा जाता तब तक वेरिएबल्स का विस्तार नहीं किया जाता (के माध्यम से)। \जाना
कमांड), जिसके दौरान उन्हें बफर के भीतर विस्तारित और प्रतिस्थापित किया जाता है। यह
व्यवहार को $expand वेरिएबल के माध्यम से बदला जा सकता है। (देखना विशिष्ट चर, नीचे)।
बफ़र के भीतर वेरिएबल का उपयोग करने का एक उदाहरण निम्नलिखित है:
1> \settable_name=syscolumns
1> $table_name से गिनती(*) चुनें
2>\जाओ
यह क्वेरी निष्पादित करने के बराबर है:
1> सिस्कोल्यूमन्स से गिनती (*) का चयन करें
2>\जाओ
सीधे. आमतौर पर यह सुविधा बड़े कॉम्प्लेक्स का पुन: उपयोग करने के लिए उपयोगी है जहां खंड, या
लंबे स्तंभ नाम.
उद्धरण नियम SQL बफ़र्स में वैसे ही लागू होते हैं जैसे वे कमांड लाइन में करते हैं। यानी कोई भी
दोहरे उद्धरण चिह्नों (") के भीतर मौजूद चर का विस्तार किया जाता है और भीतर मौजूद चर का विस्तार किया जाता है
एकल उद्धरण (') को अछूता छोड़ दिया गया है। इस प्रकार:
1> "$उपयोगकर्ता नाम", '$उपयोगकर्ता नाम' चुनें
2>\जाओ
परिणाम देता है
---- --------
ग्रे $उपयोगकर्ता नाम
आदेश प्रतिस्थापन
कमांड लाइन की तरह, UNIX कमांड के आउटपुट को भी SQL में प्रतिस्थापित किया जा सकता है
निष्पादन पर बफ़र (एक बार फिर, केवल तभी जब $expand वेरिएबल 1, या सत्य पर सेट हो)। में
इस परिस्थिति में बैक कोट्स (`) के भीतर मौजूद कमांड को उसके आउटपुट से बदल दिया जाता है
बफ़र को SQL सर्वर पर अग्रेषित करने से पहले। उदाहरण के लिए:
1> `echo syscolumns` से गिनती (*) चुनें
2>\जाओ
स्ट्रिंग्स 'इको सिस्कोलम्न्स' को शब्द से प्रतिस्थापित करने का कारण बनता है syscolumns से पहले
आदेश निष्पादित करना. यह ध्यान दिया जाना चाहिए कि प्रतिस्थापित कमांड की सामग्री हैं
के समय ही निष्पादित किया गया \जाना कमांड, तब नहीं जब SQL की लाइन इनपुट हो।
प्रवाह-का-नियंत्रण
एसक्यूएसएच के संस्करण 2.0 के साथ नया, बुनियादी प्रवाह-नियंत्रण निष्पादित करने की क्षमता है
का उपयोग कर कार्य करता है \अगर, \जबकि, \करना, तथा \func आदेश देता है।
ब्लॉक & एसक्यूएल बफ़र
सभी एसक्यूएसएच फ्लो-ऑफ-कंट्रोल कमांड ब्लॉक-आधारित हैं। अर्थात्, यदि परीक्षण अभिव्यक्ति की
कमांड पूरा हो गया है, फिर एसक्यूएसएच-स्क्रिप्ट का एक ब्लॉक निष्पादित किया जाएगा। उदाहरण के लिए, परिभाषा
का \अगर आदेश है:
\अगर अभिव्यक्ति
खंड
\fi
इस खंड एसक्यूएसएच कमांड, एसक्यूएल, या फ्लो-ऑफ-कंट्रोल स्टेटमेंट की कोई भी पंक्ति हो सकती है
निष्पादित किया जाना है यदि अभिव्यक्ति सफलता की स्थिति (0) का मूल्यांकन करता है।
से प्रत्येक खंड उस अवधि के लिए इसका अपना SQL बफ़र है खंड निष्पादित किया जाता है। वह है,
निम्नलिखित कथन:
1> /*
2> ** यदि ब्लॉक का अनुचित उपयोग
3> */
4>से गिनती(*) चुनें
5> \यदि [ $x -gt 10 ]
6>सिसोब्जेक्ट्स
7>\अन्यथा
8> सिसिंडेक्स
9>\fi
5>जाओ
निकलेगा:
संदेश 102, स्तर 15, राज्य 1
सर्वर 'बीपीएस_प्रो', पंक्ति 1
'से' के पास गलत वाक्यविन्यास
क्योंकि स्ट्रिंग 'sysobjects' या 'sysindexes' को उनके अपने SQL बफ़र्स में डाला गया था।
जैसे ही ब्लॉक के अंत तक पहुँच गया, इन बफ़र्स को हटा दिया गया, और चूंकि a \जाना
आदेश ब्लॉक के भीतर समाहित नहीं था, कोई अतिरिक्त त्रुटि उत्पन्न नहीं हुई।
इस प्रकार, उपरोक्त अभिव्यक्ति को लिखने का सही तरीका होगा:
1> /*
2> **IF ब्लॉक का उचित उपयोग
3> */
4> \यदि [ $x -gt 10 ]
5> sysobjects से गिनती (*) चुनें
6>जाओ
7>\अन्यथा
8> sysindexes से गिनती (*) चुनें
9>जाओ
10>\fi
या और भी:
1> /*
2> **IF ब्लॉक का उचित उपयोग
3> */
4> \यदि [ $x -gt 10 ]
5> \settable_name=sysobjects
6>\अन्यथा
7> \settable_name=sysindexes
8>\fi
4> $table_name से * चुनें
5>जाओ
साथ ही, ध्यान दें कि sqsh प्रॉम्प्ट में प्रदर्शित लाइन नंबर करंट पर रीसेट हो जाता है
पहुँचने के बाद बाहरी SQL बफ़र में स्थिति \fi टर्मिनेटर।
एक्सप्रेशंस
एसक्यूएसएच में सभी प्रवाह-नियंत्रण कथन एक लेते हैं अभिव्यक्ति जो निर्धारित करने के लिए खंड कोड का
अंजाम देना। बिल्कुल UNIX के बॉर्न शेल की तरह, यह अभिव्यक्ति बस एक ऑपरेटिंग सिस्टम है
प्रोग्राम जो sqsh द्वारा निष्पादित किया जाता है। यदि आदेश सफलता की स्थिति लौटाता है (कॉल करता है)। निकास(0),
तो उसे सफल माना जाता है.
उदाहरण के लिए, निम्नलिखित कथन के साथ:
\जबकि परीक्षण $x -lt 10
खंड
\पूर्ण
की सामग्री निष्पादित करेगा खंड जबकि $x का वर्तमान मूल्य 10 से कम है। ध्यान दें
वह 'परीक्षण' बुनियादी स्ट्रिंग या संख्यात्मक तुलना करने के लिए एक मानक UNIX प्रोग्राम है
(अन्य बातों के अलावा)। इसके अलावा, कई शैलों के विपरीत, एसक्यूएसएच में 'परीक्षण' का कोई अंतर्निहित संस्करण नहीं है।
हालाँकि, Sqsh 'परीक्षण' के मानक संक्षिप्त रूप का समर्थन करता है:
\जबकि [ $x -lt 10 ]
खंड
\पूर्ण
इस अभिव्यक्ति के साथ खुले ब्रेस ('[') को 'परीक्षण' के साथ एसक्यूएस पार्सर द्वारा प्रतिस्थापित किया जाता है, और
करीबी ब्रेस (']') को हटा दिया गया है।
असमर्थित एक्सप्रेशंस
वर्तमान में sqsh मानक शेल विधेय ऑपरेटरों '&&' और '||' का समर्थन नहीं करता है।
इन्हें इस प्रकार निष्पादित किया जा सकता है:
\यदि श-सी "cmd1 && cmd2"
खंड
\पूर्ण
\यदि कथन
RSI \अगर कमांड एक sqsh का सशर्त निष्पादन करता है खंड ए के परिणाम के आधार पर
आपूर्ति की गई अभिव्यक्ति:
\यदि expr1
block1
\elif expr2
block2
\अन्य
block3
\fi
इस उदाहरण में, यदि अभिव्यक्ति pr1 सत्य का मूल्यांकन करता है, फिर ब्लॉक block1 is
मूल्यांकन किया गया। अन्यथा, यदि अभिव्यक्ति pr2 सत्य का मूल्यांकन करता है, फिर ब्लॉक करता है block2 is
मूल्यांकन किया गया। अंततः, यदि अन्य सभी परीक्षण विफल हो जाते हैं block3 मूल्यांकन किया जाता है.
ध्यान दें कि, बॉर्न शैल के विपरीत, प्रत्येक \अगर कमांड के साथ एक ट्रेलिंग भी होनी चाहिए \fi
कथन। इसके अलावा एसक्यूएसएच पार्सर बहुत बुद्धिमान नहीं है: द \अन्य और \fi बयान
जिस पंक्ति में वे दिखाई देते हैं उस पर एकमात्र सामग्री होनी चाहिए, और उन्हें उपनाम नहीं दिया जा सकता है
दूसरा नाम।
\जबकि बयान
RSI \जबकि कमांड निष्पादित करता है a खंड एक आपूर्ति की गई अभिव्यक्ति के लिए एसक्यूएसएच कोड का
सत्य रहता है.
\जबकि व्यय
खंड
\पूर्ण
इस उदाहरण में, जबकि अभिव्यक्ति expr सत्य का मूल्यांकन करता है, फिर ब्लॉक खंड is
मूल्यांकन किया गया।
RSI \तोड़ना कथन का उपयोग अंतरतम से बाहर निकलने के लिए किया जा सकता है \जबकि or \के लिए लूप (अधिक
on \के लिए नीचे).
\बयान के लिए
RSI \के लिए कमांड निष्पादित करता है a खंड प्रत्येक के लिए एसक्यूएसएच कोड शब्द आपूर्ति की गई:
\शब्द में var के लिए...
खंड
\पूर्ण
प्रत्येक के लिए शब्द आपूर्ति की गई, चर का मान $वर शब्द और पर सेट है खंड of
कोड निष्पादित है. सूची में और शब्द न रहने पर निष्पादन समाप्त हो जाता है।
साथ ही \जबकि la \तोड़ना कथन का उपयोग आंतरिकतम निष्पादन से बाहर निकलने के लिए किया जा सकता है
पाश।
\आदेश दो
RSI \करना कमांड एक तरह से स्टेटमेंट और कमांड के बीच का मिश्रण है।
इसका एक रूप है \जाना (विवरण के लिए नीचे देखें \जाना कमांड) जिसमें ए खंड एसक्यूएसएच का
क्वेरी से लौटाए गए डेटा की प्रत्येक पंक्ति के लिए कोड निष्पादित किया जा सकता है। जब खंड is
निष्पादित, विशेष sqsh चर #[0-9]+ (एक हैश के बाद एक संख्या) का उपयोग किया जा सकता है
लौटाई गई क्वेरी में मानों का संदर्भ लें। उदाहरण के लिए निम्नलिखित आदेश:
मास्टर..sysडेटाबेस से आईडी, नाम चुनें
\करना
\इको "चेकपॉइंटिंग डेटाबेस #2, डीबीआईडी #1"
#2 का प्रयोग करें
go
जांच की चौकी
go
\पूर्ण
सर्वर पर प्रत्येक डेटाबेस में एक CHECKPOINT कमांड जारी किया जाएगा।
कमांड लाइन विकल्प
RSI \करना कमांड द्वारा उपयोग के लिए एक नया कनेक्शन स्थापित किया जाता है खंड कोड का जब
निष्पादित। डिफ़ॉल्ट रूप से, यह कनेक्शन वर्तमान सर्वर (वर्तमान सर्वर) से स्थापित होता है
का समायोजन $DSQUERY), वर्तमान उपयोक्तानाम का उपयोग करते हुए ($ उपयोगकर्ता नाम) और वर्तमान पासवर्ड
($ पासवर्ड). हालाँकि, कमांड लाइन विकल्पों का उपयोग करके इस व्यवहार को ओवरराइड किया जा सकता है:
-डी डेटाबेस
आपूर्ति के अनुसार डेटाबेस से कनेक्शन स्थापित करता है डेटाबेस.
-यू उपयोक्तानाम
आपूर्ति के अनुसार सर्वर से कनेक्शन स्थापित करता है उपयोगकर्ता नाम.
-पी पासवर्ड
आपूर्ति का उपयोग करके सर्वर से कनेक्शन स्थापित करता है पासवर्ड (जो है
उम्मीद है कि आपूर्ति के लिए एक वैध पासवर्ड होगा उपयोगकर्ता नाम).
-एस सर्वर
आपूर्ति से कनेक्शन स्थापित करता है सर्वर.
-n द्वारा उपयोग के लिए कोई कनेक्शन न बनाएं \करना कुंडली। यह ध्वज परस्पर अनन्य है
उपरोक्त झंडों के साथ. इस फ़्लैग के सक्षम होने पर, डेटाबेस कमांड निष्पादित करने का प्रयास किया जाता है
के अंदर खंड सीटी-लाइब्रेरी त्रुटियों की झड़ी लग जाएगी।
स्तंभ चर
जैसा कि ऊपर बताया गया है, वर्तमान परिणाम सेट में कॉलम के मान निर्धारित किए जा सकते हैं
विशेष #[0-9]+ वेरिएबल का उपयोग करना। इस प्रकार, वेरिएबल #1 में का मान होगा
वर्तमान परिणाम सेट के कॉलम नंबर एक, और #122 में का मान हो सकता है
122वां कॉलम (कॉलम संख्या 1 से शुरू होती है)।
नेस्टेड के मामले में \करना लूप्स, पिछले नेस्टिंग स्तरों के मानों को इसके द्वारा संदर्भित किया जा सकता है
बस प्रत्येक पिछले नेस्टिंग स्तर के लिए एक अतिरिक्त '#' जोड़ना, जैसे:
Sysobjects से आईडी, नाम चुनें
\करना
sysindexes से नाम चुनें, indid जहां id = #1
\करना
\echo "तालिका ##2 (ऑब्जिड ##1) में सूचकांक #1 है"
\पूर्ण
\पूर्ण
जाहिर है, वास्तविक जीवन में आप इस तरह से यह प्रश्न नहीं पूछेंगे, लेकिन आपको इसका अंदाजा हो गया है।
NULL मान वाले स्तंभों का विस्तार करते समय, स्तंभ चर एक रिक्त मान तक विस्तृत हो जाएगा
डोरी ('')। साथ ही, गैर-मौजूद स्तंभों, जैसे #0, के संदर्भ में परिणाम खाली हो जाएगा
डोरी ('')।
नियमित sqsh वेरिएबल्स (जिन्हें '$' से संदर्भित किया जाता है) की तरह, कॉलम वेरिएबल नहीं होंगे
एकल उद्धरण के भीतर समाहित होने पर विस्तारित किया गया।
निरस्त
अगर \तोड़ना or \वापस करना किसी के प्रसंस्करण के दौरान आदेश जारी किए जाते हैं \करना पाश,
वर्तमान क्वेरी रद्द कर दी जाएगी, लूप द्वारा उपयोग किया गया कनेक्शन बंद कर दिया जाएगा (जब तक कि
-n ध्वज की आपूर्ति की गई) और \करना लूप निरस्त हो जाएगा.
\func कमांड
RSI \func कमांड का उपयोग एसक्यूएसएच कोड के पुन: प्रयोज्य ब्लॉक को एक फ़ंक्शन के रूप में परिभाषित करने के लिए किया जाता है। कार्य
इस प्रकार परिभाषित किया गया है:
\func आँकड़े
\अगर [$# -ne 1 ]
\echo "उपयोग: आँकड़े [चालू | बंद]"
\वापसी 1
\fi
आँकड़े सेट करें io ${1}
आँकड़े समय निर्धारित करें ${1}
go
\पूर्ण
इस उदाहरण में एक नया फ़ंक्शन स्थापित किया गया है जिसे कहा जाता है आँकड़े वह एक ही तर्क की अपेक्षा करता है,
या तो "चालू" या "बंद"। इस तर्क का प्रयोग करते हुए, आँकड़े समय-आधारित सक्षम या अक्षम करेगा और
I/O-आधारित आँकड़े।
एक बार स्थापित हो जाने पर, फ़ंक्शन को इस प्रकार कहा जा सकता है:
\कॉल आँकड़े चालू
${1} के सभी उदाहरणों को पहले कमांड लाइन तर्क से प्रतिस्थापित किया जा रहा है
आँकड़े.
कमांड लाइन विकल्प
वर्तमान में केवल एक कमांड लाइन तर्क उपलब्ध है \func आदेश।
-x फ़ंक्शन को एक के रूप में निर्यात करने का कारण बनता है एसक्यूएसएच आज्ञा। यानी फ़ंक्शन हो सकता है
की आवश्यकता के बिना सीधे लागू किया गया \पुकारना आज्ञा। यह व्यवहार वैकल्पिक है
क्योंकि कमांड नाम संभावित रूप से T-SQL कीवर्ड के साथ टकराव पैदा कर सकते हैं। इसका उपयोग करते समय
फ़्लैग यह अनुशंसा की जाती है कि आप अपने फ़ंक्शन नाम के साथ एक बैकस्लैश (\) जोड़ें।
फ़ंक्शन चर
जैसा कि ऊपर दिए गए उदाहरण में दिखाया गया है, कई विशेष चर उपयोग के लिए उपलब्ध हैं
फ़ंक्शन का मुख्य भाग. ये:
$# लागू होने पर फ़ंक्शन या स्क्रिप्ट को दिए गए तर्कों की संख्या का विस्तार होता है।
$* जब फ़ंक्शन या स्क्रिप्ट को दिए गए तर्कों की पूरी सूची का विस्तार होता है
आह्वान किया।
${0}..${N}
फ़ंक्शन के लिए स्थितीय तर्कों का विस्तार होता है। ${0} फ़ंक्शन का नाम है
आह्वान किया जा रहा है, ${1} पहला तर्क है, ${2} दूसरा और इसी तरह, तर्क तक
N. ध्यान दें कि, अधिकांश शेल्स के विपरीत, sqsh के लिए आवश्यक है कि फ़ंक्शन तर्कों को संदर्भित किया जाए
विशेष घुंघराले ब्रेस सिंटैक्स ($1 के बजाय (${1}) का उपयोग करना। इसका कारण है
वह $1 एक वैध पैसा मूल्य है और घुंघराले ब्रेसिज़ का उपयोग करने से इस अस्पष्टता से छुटकारा मिलता है।
$? किसी फ़ंक्शन के आह्वान के बाद, इसमें उसका रिटर्न मान शामिल होगा (नीचे देखें)।
प्रतिलाभ की मात्रा
किसी फ़ंक्शन से मान वापस किया जा सकता है \वापस करना आदेश।
इस तरह:
\वापसी एन
कहा पे N एक सकारात्मक मूल्य है. यह रिटर्न मान फ़ंक्शन के कॉलर के लिए उपलब्ध है
के माध्यम से $? चर। परंपरा के अनुसार, सफलता को इंगित करने के लिए 0 का रिटर्न मान उपयोग किया जाता है।
If \वापस करना स्पष्ट रूप से नहीं कहा जाता है, डिफ़ॉल्ट रिटर्न मान वर्तमान मान है
$? वैरिएबल (जो फ़ंक्शन के प्रवेश पर 0 पर सेट है)। इस प्रकार, यदि कोई SQL कथन है
फ़ंक्शन के भीतर लागू किया जाता है, का डिफ़ॉल्ट रिटर्न मान $? आखिरी त्रुटि होगी
SQL कथन के प्रसंस्करण के दौरान कोड लौटाया गया।
करबरोस सहायता
संस्करण 2.1.6 से प्रारंभ करते हुए, एसक्यूएसएच के समान कमांड लाइन विकल्प प्रदान करता है आईएसक्यूएल संभालने के लिए
कर्बरोस नेटवर्क प्रमाणीकरण.
संस्करण 2.1.5 में -K और -R विकल्पों का उपयोग करके प्रायोगिक Kerberos समर्थन जोड़ा गया था। -क
Kerberos को चालू करने के लिए केवल एक स्विच था। Sqsh 2.1.6 में इसका अधिक उन्नत कार्यान्वयन
नेटवर्क प्रमाणीकरण पेश किया गया है, हालाँकि अभी भी प्रयोगात्मक है।
पैरामीटर -K, -R, -V, -Z का उपयोग करके आप अपनी परिभाषित नेटवर्क सुरक्षा का उपयोग कर सकते हैं
सेटिंग्स (libtcl.cfg)। नामित विकल्प परिभाषित विकल्पों के समान हैं आईएसक्यूएल.
-K keytab_file
DCE के लिए Keytab_फ़ाइल नाम।
-आर सर्वर_प्रिंसिपल
सर्वर प्रिंसिपल नाम जब इंटरफ़ेस में निर्दिष्ट सर्वरनाम वास्तविक से भिन्न होता है
सर्वर का नाम।
-V [bcdimoqru]
सुरक्षा तंत्र के साथ उपयोग करने के लिए सुरक्षा विकल्प निर्दिष्ट करें। प्रत्येक पात्र का तात्पर्य है
एक विशिष्ट सुरक्षा सेवा.
-Z [सेक्मेच|डिफ़ॉल्ट|कोई नहीं]
अपनी libtcl.cfg फ़ाइल में Kerberos, DCE या PAM के लिए परिभाषित सुरक्षा तंत्र का अनुरोध करें।
उपयोग secmech सुरक्षा प्रविष्टि का नाम निर्दिष्ट करने के लिए या चूक पहले उपलब्ध के लिए
libtcl.cfg में प्रविष्टि। कोई नहीं नेटवर्क प्रमाणीकरण को अक्षम करने या रीसेट करने के लिए निर्दिष्ट किया जाना चाहिए
चरों में संभावित मौजूदा मान $secmech or $सुरक्षित_विकल्प.
उदाहरण के लिए, केर्बरोस (जो कि डिफ़ॉल्ट होता है, यानी) का उपयोग करके सर्वर से कनेक्ट करना
इस उदाहरण में libtcl.cfg [सुरक्षा] टैब में पहली प्रविष्टि):
~> sqsh -SSYB1502 -Uuser1 -RFC6A1502 -Z
\connect: नेटवर्क प्रमाणित सत्र यहां समाप्त होता है:
16 फ़रवरी 2010 15:28:39 (11764 सेकंड)
SYB1502.user1.master.1> @@servername,@@authmech चुनें,
show_sec_services();
---------------- ------------------ ---------------------- -----------
एफसी6ए1502 केर्बरोस यूनिफाइडलॉगइन डेलिगेशन म्यूच्युअलऑथ
अखंडता गोपनीयता
डिटेक्टरेप्ले डिटेक्टसेक
ध्यान दें कि सर्वर का वास्तविक नाम (@@servername) सर्वर नाम से भिन्न है
इंटरफ़ेस फ़ाइल, इसलिए हमें इसके माध्यम से मुख्य नाम निर्दिष्ट करना होगा -R पैरामीटर. कब
आप निर्दिष्ट नहीं करते -V साथ में पैरामीटर -Z, सभी उपलब्ध सुरक्षा विकल्प होंगे
सक्षम किया जाए. कब -V बिना किसी सुरक्षा सेवा विकल्प के, केवल विकल्प निर्दिष्ट किया गया है u एसटी
नेटवर्क प्रमाणीकरण अंतर्निहित रूप से सेट किया जाएगा और डिफ़ॉल्ट सुरक्षा तंत्र होगा
इस्तेमाल किया अगर -Z निर्दिष्ट नहीं है।
[user1@linux-fc6a ~]$ sqsh -SFC6A1502 -Uuser1 -V
क्लाइंट संदेश खोलें
परत 7, उत्पत्ति 9, गंभीरता 5, संख्या 1
ct_connect(): सुरक्षा सेवा परत: आंतरिक सुरक्षा नियंत्रण
परत त्रुटि:
सुरक्षा सेवा प्रदाता आंतरिक त्रुटि -1765328352
हुआ.
[user1@linux-fc6a ~]$kinit
user1@LOCALDOMAIN के लिए पासवर्ड:
[user1@linux-fc6a ~]$ sqsh -SFC6A1502 -Uuser1 -V
\connect: नेटवर्क प्रमाणित सत्र यहां समाप्त होता है:
16 फ़रवरी 2010 15:28:39 (10964 सेकंड)
FC6A1502.user1.master.1>
जब कनेक्शन सफल हो जाता है, एसक्यूएसएच सुरक्षा तंत्र का वास्तविक नाम संग्रहीत करेगा
चर $secmech. उदाहरण के लिए: "\echo $secmech" दिख सकता है सीएसएफकेआरबी5। पैरामीटर -V
के संभावित मानों से वर्णों की एक सूची लेता है bcdimoqru. विकल्प u सक्षम बनाता है
नेटवर्क प्रमाणीकरण, डिफ़ॉल्ट है और उपयोग करते समय हमेशा सेट किया जाएगा -V or -Z,
निर्दिष्ट या नहीं.
बी - चैनबाइंडिंग : चैनल बाइंडिंग
सी - गोपनीयता : डेटा गोपनीयता सेवा
डी - प्रत्यायोजन : प्रत्यायोजित क्रेडेंशियल्स की अनुमति दें
मैं - अखंडता : डेटा अखंडता सेवा
एम - म्यूच्यूअलऑथ : कनेक्शन के लिए पारस्परिक प्रमाणीकरण
स्थापना
ओ - डेटाओरिजिन: डेटा ओरिजिन स्टैम्पिंग सेवा
q - डिटेक्टसेक: अनुक्रम से बाहर का पता लगाना
आर - डिटेक्टरेप्ले : डेटा रीप्ले डिटेक्शन
यू - यूनिफ़ाइडलॉगिन: नेटवर्क प्रमाणीकरण
कृपया उपलब्ध सेवाओं के लिए master.dbo.syssecmechs देखें। गैर-मौजूदा या समर्थित नहीं
के साथ प्रदान की जाने वाली सेवाएँ -V चुपचाप नजरअंदाज कर दिया जाता है. यदि आप निर्दिष्ट करते हैं -V और / या -Z, एसक्यूएसएच मान लिया गया है
नेटवर्क प्रमाणीकरण का प्रयास किया गया है और किसी पासवर्ड की आवश्यकता नहीं है।
यदि आपके पास नेटवर्क प्रमाणित कनेक्शन है और आप सामान्य ASE का उपयोग करके पुनः कनेक्ट करना चाहते हैं
उपयोगकर्ता नाम और पासवर्ड के साथ प्रमाणीकरण, आपको नेटवर्क प्रमाणीकरण रीसेट करना होगा
-Znone निर्दिष्ट करके चर
उदाहरण के लिए:
[user1@linux-fc6a ~]$ sqsh -SFC6A1502 -Uuser1 -V
\connect: नेटवर्क प्रमाणित सत्र यहां समाप्त होता है:
16 फ़रवरी 2010 15:28:39 (10764 सेकंड)
FC6A1502.user1.master.1> \echo $secmech csfkrb5
FC6A1502.user1.master.1> \reconnect -SASE1502 -Usa -Psybase
क्लाइंट संदेश खोलें
परत 7, उत्पत्ति 9, गंभीरता 5, संख्या 8
ct_connect(): सुरक्षा सेवा परत: आंतरिक सुरक्षा नियंत्रण
परत त्रुटि:
क्रेडेंशियल पर की गई संगतता जांच विफल रही
(मामूली स्थिति 0).
FC6A1502.user1.master.1> \reconnect -SASE1502 -Usa -Psybase -Znone
ASE1502.sa.master.1>
पहला \reconnect विफल रहता है क्योंकि sqsh अभी भी नेटवर्क प्रमाणीकरण का प्रयास करना चाहता है।
हालाँकि, 'sa' के लिए कोई उपयोगकर्ता प्रिंसिपल मौजूद नहीं है और कोई टिकट सेट नहीं है और इस प्रकार कनेक्शन है
विफल रहता है. दूसरा \पुनः कनेक्ट करें -Znone विकल्प उचित चर को रीसेट करने पर सफल होता है।
यदि केर्बरोस टिकट का नवीनीकरण किया जाता है किनिट या कोई अन्य क्लाइंट टूल, एसक्यूएसएच सत्र
एक प्रदर्शन करना होगा \पुनः कनेक्ट करें क्रेडेंशियल्स को ताज़ा करने और समय से पहले सत्र को रोकने के लिए
गर्भपात आदेश के साथ \snace आप सत्र समाप्ति अंतराल के लिए अनुरोध कर सकते हैं।
सेट की गई सुरक्षा सेवाओं के आधार पर, डेटाबेस कनेक्शन बंद किया जा सकता है
टिकट समाप्त होते ही बिना किसी चेतावनी के।
साइबेस सिस्टम एडमिनिस्ट्रेशन गाइड से अध्याय 16 "बाहरी प्रमाणीकरण" देखें
कर्बरोस नेटवर्क प्रमाणीकरण, ईए पर अधिक जानकारी के लिए खंड 1
कमानों
पढ़ें-इवल-प्रिंट
रीड-इवल-प्रिंट लूप एसक्यूएसएच सिस्टम का दिल है और संकेत देने के लिए जिम्मेदार है
इनपुट के लिए एक उपयोगकर्ता और यह निर्धारित करना कि इसके साथ क्या किया जाना चाहिए। आमतौर पर यह लूप के लिए है
केवल आंतरिक उपयोग, हालाँकि वे उपयोगकर्ता के लिए खुले हैं क्योंकि उनमें कुछ रचनात्मक हैं
चीज़ें जो उनके साथ की जा सकती हैं.
\लूप [-i] [-n] [-e sql] [फ़ाइल]
RSI \कुंडली कमांड इनपुट को या तो किसी फ़ाइल से, आपूर्ति किए गए SQL स्टेटमेंट से, या किसी से पढ़ता है
उपयोगकर्ता (नीचे दिए गए विकल्प देखें), यह निर्धारित करते हुए कि क्या वर्तमान लाइन a का एक भाग है
टीएसक्यूएल स्टेटमेंट या एक एसक्यूएसएच कमांड, और उचित कार्रवाई करना। जब अंदर भागो
एक इंटरैक्टिव मोड \कुंडली वर्तमान संकेत प्रदर्शित करने के लिए भी जिम्मेदार है (देखें)।
$शीघ्र नीचे).
\कुंडली तब पूर्ण होता है जब सभी इनपुट समाप्त हो जाते हैं (फ़ाइल का अंत सामने आता है) या कब
एक आदेश, जैसे \बाहर निकलना वह अनुरोध करता है \कुंडली बाहर जाएं।
-मैं सामान्यतः, यदि पट्टिका आपूर्ति की गई है और मौजूद नहीं है, \कुंडली एक त्रुटि के साथ वापस आ जाएगा
स्थिति, आमतौर पर एसक्यूएसएच को बाहर निकलने का कारण बनती है। की आपूर्ति करके -i झंडा, नियंत्रण होगा
कॉलिंग लूप पर इस तरह लौटाया गया मानो फ़ाइल के अंत तक पहुँच गया हो (अर्थात्, संख्या के साथ)।
त्रुटि स्थिति)।
-n डिफ़ॉल्ट रूप से, \कुंडली यदि कोई हो तो स्वचालित रूप से डेटाबेस से जुड़ने का प्रयास करेगा
के माध्यम से कनेक्शन पहले से ही स्थापित नहीं किया गया है \जोड़ना आदेश। -n झंडा
इस व्यवहार को अनुमति देकर अक्षम कर देता है \कुंडली उन आदेशों को संसाधित करने के लिए जिनकी आवश्यकता नहीं है
डेटाबेस समर्थन.
-ई एसक्यूएल
कारणों \कुंडली की सामग्री को संसाधित करने के लिए एसक्यूएल जैसे कि उपयोगकर्ता ने इसे टाइप किया हो
शीघ्र और एक अंतर्निहित कॉल \जाना कथन के साथ स्वचालित रूप से जुड़ जाता है। अगर
के अनेक उदाहरण -e आपूर्ति की जाती है, उन सभी को एक ही बैच के रूप में भेजा जाता है
प्रसंस्करण के लिए SQL सर्वर। इस विकल्प का उपयोग a के साथ संयोजन में नहीं किया जा सकता है पट्टिका
नाम भी.
पट्टिका
a . का नाम निर्दिष्ट करता है पट्टिका इनपुट को पढ़ने के बजाय इनपुट के रूप में उपयोग किया जाना चाहिए
उपयोगकर्ता या से -e झंडा।
डाटाबेस पहुँच
एसक्यूएसएच के आकार और जटिलता को देखते हुए (बस इस मैन पेज की लंबाई को देखें), यह है
यह आश्चर्यजनक है कि वास्तव में कितने कम डेटाबेस हेरफेर आदेश हैं। निम्नलिखित हैं
आदेश जो वर्तमान डेटाबेस कनेक्शन को प्रभावित या उपयोग करते हैं:
\कनेक्ट [-सी] [-डी डीबी] [-एस एसआरवी] [-यू उपयोगकर्ता] [-पी पास] [-आई आईफाइल] [-के कीटैब] [-आर
सर्वर_प्रिंसिपल] [-एन] [-एन ऐपनाम] [-क्यू क्वेरी_टाइमआउट] [-टी लॉगिन_टाइमआउट] [-वी [बीसीडिमोक्रू]]
[-Z [सेक्मेच|डिफ़ॉल्ट|कोई नहीं]]
इस कमांड का उपयोग मुख्य रूप से आंतरिक उपयोग के लिए कनेक्शन स्थापित करने के लिए किया जाता है
डेटाबेस। यदि कोई कनेक्शन पहले से ही स्थापित है तो इसका कोई प्रभाव नहीं पड़ता है, तथापि यदि कोई
कनेक्शन स्थापित नहीं किया गया है और $ पासवर्ड आपूर्ति नहीं की गई है, तो
पासवर्ड का अनुरोध किया जाता है और एक कनेक्शन स्थापित किया जाता है। \जोड़ना निम्नलिखित स्वीकार करता है
पैरामीटर:
-c डिफ़ॉल्ट रूप से, \जोड़ना कमांड की सामग्री का उपयोग करता है $डेटाबेस निर्धारित करने के लिए
डेटाबेस संदर्भ जिसका उपयोग कनेक्शन स्थापित करने पर किया जाना चाहिए (यह है
के द्वारा प्रयोग किया \पुनः कनेक्ट करें पुन:कनेक्शन पर वर्तमान डेटाबेस संदर्भ को संरक्षित करने के लिए)।
RSI -c ध्वज इस व्यवहार को दबा देता है और लॉगिन का डिफ़ॉल्ट डेटाबेस संदर्भ है
इसके बजाय इस्तेमाल किया।
-डी डीबी
कारणों \जोड़ना डेटाबेस संदर्भ को स्वचालित रूप से स्विच करने का प्रयास करने के लिए db
कनेक्शन स्थापित करने के बाद.
इस ध्वज का उपयोग करना सेटिंग के समान है $डेटाबेस से पहले परिवर्तनशील
संबंध स्थापित करना.
-एस सर्व
साइबेस का नाम सर्वर कनेक्ट करने के लिए, यह डिफ़ॉल्ट है $DSQUERY यदि नहीं
आपूर्ति की।
-यू उपयोगकर्ता
साइबेस उपयोगकर्ता डेटाबेस से कनेक्ट करने के लिए, यह डिफ़ॉल्ट है $ उपयोगकर्ता नाम परिवर्तनशील
यदि आपूर्ति नहीं की गई।
-पी पास
RSI पासवर्ड एसटी उपयोगकर्ता से कनेक्ट करना आवश्यक है सर्वर. यह डिफ़ॉल्ट है $ पासवर्ड if
आपूर्ति नहीं।
-मैं इफाइल करता हूं
वैकल्पिक Sybase का पूरा पथ इंटरफेस उपयोग करने के लिए फ़ाइल.
-K keytab_file
DCE उपयोगकर्ता प्रमाणीकरण के लिए उपयोग किया जाता है।
-आर प्रिंसिपल_नाम
सर्वर प्रिंसिपल का नाम निर्दिष्ट करने के लिए केर्बरोस उपयोगकर्ता प्रमाणीकरण के लिए उपयोग करें
जब नाम से भिन्न हो $DSQUERY मूल्य.
कर्बरोस समर्थन पर चर्चा भी देखें।
-n निर्दिष्ट करता है कि कनेक्शन को ANSI अनुरूप श्रृखंलाबद्ध मोड का उपयोग करना चाहिए।
-एन ऐपनाम
उस एप्लिकेशन का नाम निर्दिष्ट करें जिसका उपयोग सर्वर प्रोग्राम_नाम के लिए करेगा
sysprocesses तालिका।
-क्यू क्वेरी_टाइमआउट
सेकंड में क्वेरी टाइमआउट अवधि निर्धारित करें।
-टी लॉगिन_टाइमआउट
सत्र सेटअप के लिए अधिकतम प्रतीक्षा समय निर्दिष्ट करता है।
-V [bcdimoqru]
कर्बेरोस समर्थन और अन्य सुरक्षा तंत्रों के लिए उपयोग की जाने वाली सुरक्षा सेवाएँ।
-Z [सेक्मेच|डिफ़ॉल्ट|कोई नहीं]
उपयोगकर्ता प्रमाणीकरण के लिए उपयोग किए जाने वाले सुरक्षा तंत्र को निर्दिष्ट करता है। उदाहरण के लिए
कर्बेरोस समर्थन के लिए csfkrb5।
\पुनः कनेक्ट करें [-सी] [-डी डीबी] [-एस एसआरवी] [-यू उपयोगकर्ता] [-पी पास] [-आई आईफाइल] [-के कीटैब] [-आर
सर्वर_प्रिंसिपल] [-एन] [-एन ऐपनाम] [-क्यू क्वेरी_टाइमआउट] [-टी लॉगिन_टाइमआउट] [-वी [बीसीडिमोक्रू]]
[-Z [secmech|default|noe]]
RSI \पुनः कनेक्ट करें कमांड का उपयोग किसी नए का उपयोग करके डेटाबेस से दोबारा जुड़ने के लिए बाध्य करने के लिए किया जा सकता है
उपयोगकर्ता नाम, सर्वर नाम, या पासवर्ड (यदि वांछित हो)। यदि यह आदेश विफल हो जाता है, तो current
कनेक्शन बना रहता है (यदि कोई है), हालाँकि यदि यह सफल होता है तो करंट
कनेक्शन बंद हो जाता है और नया कनेक्शन एकमात्र सक्रिय कनेक्शन बन जाता है।
सभी तर्क जो स्वीकार किए जाते हैं \जोड़ना द्वारा भी स्वीकार किये जाते हैं \पुनः कनेक्ट करें (वास्तव में
\पुनः कनेक्ट करें का उपयोग करता है \जोड़ना नया कनेक्शन स्थापित करने के लिए)।
\snace
का उपयोग करके नेटवर्क प्रमाणित सत्र के लिए सत्र समाप्ति अंतराल दिखाएगा
उदाहरण के लिए, केर्बरोस टिकट।
\go [विकल्प] [xacts]
की सामग्री भेजता है काम बफर डेटाबेस से, एक नया कनेक्शन स्थापित करना
डेटाबेस में यदि कोई पहले से मौजूद नहीं है (कॉल करके)। \जोड़ना ऊपर)। यह उन्हें
क्वेरी के परिणामों को वापस stdout पर प्रदर्शित करता है और लौटाता है, जिसके कारण काम बफर
साफ़ किया जाए और अंत तक ले जाया जाए इतिहास बफर.
अगर काम बफर खाली है और $repeat_batch वेरिएबल को "चालू" पर सेट किया गया है, \जाना मर्जी
निष्पादित अंतिम कमांड को फिर से चलाने का प्रयास करें (यह केवल इंटरैक्टिव मोड में काम करेगा
यदि इतिहास समर्थन सक्षम है)।
\जाना निम्नलिखित तर्कों को स्वीकार करता है:
-डी डिस्प्ले
यदि X11 समर्थन को sqsh में संकलित किया गया है, और X डिस्प्ले मोड का उपयोग किया जा रहा है (देखें)। -x,
नीचे), फिर प्रदर्शन परिणाम सेट के लिए एक्स डिस्प्ले क्षेत्र के रूप में उपयोग किया जाएगा। द्वारा
पर्यावरण चर को डिफ़ॉल्ट करें $प्रदर्शन माना जाता है।
-f पाद लेख संदेश "(%d पंक्तियाँ प्रभावित)" का प्रदर्शन बंद कर देता है। पाद लेख संदेश
के माध्यम से भी बंद किया जा सकता है $फुटर्स चर।
-h सभी कॉलम हेडर बंद कर देता है। इन्हें के माध्यम से बंद भी किया जा सकता है $शीर्षक
चर।
-एम शैली
प्रदर्शन शैली को अस्थायी रूप से बदल देता है अंदाज आदेश की अवधि के लिए.
वर्तमान में समर्थित शैलियाँ हैं क्षितिज (या होर or क्षैतिज), हरा रंग (या ऊर्ध्वाधर),
BCP, csv, HTML, मेटा, सुंदर और कोई नहीं. प्रदर्शन शैली को स्थायी रूप से सेट किया जा सकता है
के माध्यम से $शैली चर या -m कमांड लाइन झंडा।
-n में परिवर्तनीय विस्तार को बंद कर देता है काम बफर इसे सर्वर पर भेजने से पहले,
इसे के माध्यम से भी बंद किया जा सकता है $विस्तार चर।
-पी परिणाम सेट होने पर प्रदर्शन आंकड़ों का आउटपुट चालू करता है
सर्वर से सफलतापूर्वक लौटाया गया. के माध्यम से भी इसे चालू किया जा सकता है -p
एसक्यूएसएच के लिए कमांड लाइन तर्क, या $आँकड़े चर।
-एस सेकंड
यदि का मान xacts 1 से अधिक है, इसके कारण एसक्यूएसएच को सोना पड़ता है सेकंड सेकंड
अगला लेनदेन निष्पादित करने से पहले. ध्यान दें कि सोने में बिताया गया समय है
के साथ प्रदर्शित सांख्यिकीय जानकारी से बाहर रखा गया है -p झंडा।
-टी [फ़िल्टर]
बाहरी प्रोग्राम के माध्यम से कमांड बैच को फ़िल्टर करता है, फ़िल्टर, और होने से पहले
SQL सर्वर पर भेजा गया। अगर फ़िल्टर तो आपूर्ति नहीं की जाती है $फ़िल्टर_प्रोग प्रयोग किया जाता है
(डिफ़ॉल्ट 'm4 -' है)। यह मान इसके माध्यम से भी सेट किया जा सकता है $फ़िल्टर और $फ़िल्टर_प्रोग
चर।
-w चौड़ाई
के मान को ओवरराइड करता है $चौड़ाई क्वेरी के जीवनकाल के लिए (देखें) $चौड़ाई नीचे).
-x [xgeom]
X11 डिस्प्ले फ़िल्टर चालू करता है (केवल अगर X11 समर्थन sqsh में संकलित है), जो
परिणाम सेट को एक अलग विंडो पर भेजने का कारण बनता है। अगर xgeom तो आपूर्ति की जाती है
इस मान का उपयोग इस प्रकार किया जाएगा $xgeom क्वेरी के जीवनकाल के लिए (देखें) $xgeom नीचे).
-टी xwin_title
बनाने के लिए X परिणाम विंडो का शीर्षक नाम निर्दिष्ट करें। यह अस्थायी रूप से होगा
के मान को ओवरराइड करें $xwin_शीर्षक. केवल -T के साथ संयोजन में निर्दिष्ट करना उपयोगी है
-x.
xacts
की सामग्री की संख्या निर्दिष्ट करता है काम बफर निष्पादित किया जाना चाहिए.
ध्यान दें कि, isql के समान, परिणाम सेट केवल फाइनल के दौरान प्रदर्शित किया जाएगा
बैच का निष्पादन. इसके अलावा, की सामग्री काम बफर केवल विस्तारित हैं
एक बार, पहले निष्पादन से पहले, इसलिए बफ़र की सामग्री नहीं बदलेगी
बाद के निष्पादनों के बीच।
\bcp [bcp_options] तालिका
RSI \bcp आदेश एक प्रकार से उन्नत के रूप में कार्य करते हैं \जाना आदेश जो परिणाम को पुनर्निर्देशित करता है
बीसीपी प्रोटोकॉल के माध्यम से बैच के सेट को दूसरे सर्वर पर सेट करें। जबकि यह संभव है
\bcp परिणाम वर्तमान सर्वर पर वापस सेट हो गया ( $DSQUERY परिवर्तनीय), यह है
SELECT INTO के माध्यम से अधिक आसानी से प्राप्त किया गया।
की बारीकियां \bcp इस प्रकार जाएँ: सबसे पहले वर्तमान SQL बैच का विस्तार किया जाता है
(जब तक कि $विस्तार वेरिएबल को 0 पर सेट किया गया है) और डेटाबेस में भेज दिया गया है
प्रसंस्करण. यदि सब कुछ ठीक रहा, तो गंतव्य के लिए एक नया कनेक्शन स्थापित हो जाता है
डेटाबेस (जैसा कि $DSQUERY या के माध्यम से निर्दिष्ट किया गया है -S फ़्लैग) का उपयोग करके परिणाम सेट को स्थानांतरित करने के लिए
बी.सी.पी. फिर, स्रोत डेटाबेस कनेक्शन का आउटपुट नए बीसीपी से जुड़ा होता है
कनेक्शन और डेटा ट्रांसफर किया जाता है। \bcp एकाधिक परिणाम सेट संभाल सकता है
बिना किसी समस्या के (संग्रहीत प्रक्रियाओं से लौटाए गए परिणाम सेट आदि सहित)
बशर्ते कि सभी परिणाम सेट गंतव्य तालिका के लिए मान्य हों।
"बीसीपी आउट" के समतुल्य का उपयोग करके प्रदर्शन किया जा सकता है BCP प्रदर्शन शैली सेटिंग और
फ़ाइल पुनर्निर्देशन (देखें $शैली चर)।
-पैकेट
गंतव्य सर्वर के साथ संचार करने के लिए उपयोग किए जाने वाले टीडीएस पैकेट आकार को निर्दिष्ट करता है। अगर
इस डिफॉल्ट को मान पर आपूर्ति नहीं की गई $पैकेट_आकार परिवर्तनीय, या (यदि वह है
सेट नहीं), डिफ़ॉल्ट सर्वर पैकेट आकार (आमतौर पर 512 बाइट्स)।
-बी बैच_आकार
सर्वरों के बीच एकल लेनदेन में स्थानांतरित किए गए रिकॉर्ड की संख्या। टिप्पणी
परिणाम के अंत तक पहुंचने के कारण बैच को स्थानांतरित किया जा सकता है, भले ही
के मूल्य का बैच का आकार. डिफ़ॉल्ट संपूर्ण परिणाम सेट है.
-मैं इफाइल करता हूं
वैकल्पिक Sybase का पूरा पथ इंटरफेस उपयोग करने के लिए फ़ाइल.
-जे चारसेट
डिफ़ॉल्ट निर्दिष्ट करता है चारसेट SQL सर्वर के साथ संचार करने के लिए उपयोग किया जाता है। यह
वर्तमान वर्ण सेट (का मान) पर डिफ़ॉल्ट होता है $charset चर)।
-एम मैक्सेर
बैचों की अधिकतम संख्या जो पहले विफल हो सकती हैं \bcp भूत को त्याग देता है
(डिफ़ॉल्ट 10 है)। ध्यान दें कि यह केवल किसी दिए गए बैच के भीतर विफलताओं को संदर्भित करता है।
किसी सर्वर पर एकाधिक परिणाम सेटों का बीसीपी निष्पादित करते समय, यदि कोई दिया गया परिणाम सेट होता है
मान लीजिए, बहुत सारे कॉलम या खराब डेटा प्रकार हैं, तो संपूर्ण बीसीपी प्रक्रिया है
के मूल्य की परवाह किए बिना निरस्त कर दिया गया मैक्सर.
-एन इंगित करता है कि गंतव्य तालिका में पहचान कॉलम का मान क्या है
परिणाम सेट के भीतर आपूर्ति की गई।
-पी पासवर्ड
RSI पासवर्ड एसटी उपयोगकर्ता से कनेक्ट करना आवश्यक है सर्वर. यह डिफ़ॉल्ट है $ पासवर्ड if
आपूर्ति नहीं।
-एस सर्वर
साइबेस का नाम सर्वर कनेक्ट करने के लिए, यह डिफ़ॉल्ट है $DSQUERY यदि नहीं
आपूर्ति की।
-यू उपयोगकर्ता
साइबेस उपयोगकर्ता डेटाबेस से कनेक्ट करने के लिए, यह डिफ़ॉल्ट है $ उपयोगकर्ता नाम परिवर्तनशील
यदि आपूर्ति नहीं की गई।
-X गंतव्य सर्वर के साथ पासवर्ड बातचीत का कारण बनता है जिसका उपयोग किया जाना है
क्लाइंट-साइड एन्क्रिप्शन।
-z भाषा
उपयोग करने के लिए भाषा सेटिंग निर्दिष्ट करता है।
तालिका
जैसा कि नियमित रूप से होता है BCP, तालिका पूर्णतः या आंशिक रूप से निर्दिष्ट तालिका नाम हो सकता है
गंतव्य सर्वर में. ध्यान दें कि चूंकि एक नया डेटाबेस कनेक्शन है
बीसीपी प्रक्रियाओं के दौरान स्थापित किया गया कि कनेक्शन का डेटाबेस संदर्भ
यह वर्तमान संदर्भ के समान नहीं हो सकता है, इसलिए यह आमतौर पर पूरी तरह से सबसे सुरक्षित है
डेटाबेस.मालिक.टेबल प्रपत्र में तालिका का नाम निर्दिष्ट करें।
\rpc [rpc_opt] rpc_name [[parm_opt] [@var=]मूल्य ...]
RSI \आरपीसी कमांड का उपयोग कनेक्टेड में संग्रहीत प्रक्रिया कॉल को सीधे शुरू करने के लिए किया जाता है
सर्वर. यह कमांड ओपन सर्वर के साथ संचार करने के लिए विशेष रूप से उपयोगी है
सीधे तौर पर भाषा कॉल का समर्थन नहीं करता.
\आरपीसी दूरस्थ प्रक्रिया को आमंत्रित करता है rpc_name एक या अधिक पैरामीटर के साथ जो हो सकता है
नामित (उपयोग करके) @वर) या गुमनाम (नाम न बताकर)। दुर्भाग्य से, के कारण
तथ्य यह है कि Sybase का RPC का कार्यान्वयन, अधिकांश अंतर्निहित का सीधे तौर पर समर्थन नहीं करता है
डेटा प्रकार रूपांतरण (मुख्य रूप से VARCHAR के बीच (वह स्ट्रिंग जो आप कमांड पर आपूर्ति करते हैं
लाइन) और अधिकांश अन्य डेटा प्रकार (जिसकी दूरस्थ प्रक्रिया अपेक्षा कर रही है), द
के लिए वाक्य रचना \आरपीसी आदेश कुछ जटिल है. हालाँकि, यहाँ संक्षेप में बताया गया है कि चीज़ें कैसी हैं
काम:
के रूप में \आरपीसी कमांड लाइन को पार्स किया जा रहा है, एसक्यूएसएच के डेटा प्रकार का अनुमान लगाने का प्रयास करता है
प्राचल मूल्य प्रारूप के आधार पर (उदाहरण के लिए यदि इसमें केवल अंक हैं, तो यह है
एक पूर्णांक माना जाता है), एसक्यूएसएच फिर पहले एक स्पष्ट डेटा प्रकार रूपांतरण करता है
दूरस्थ प्रक्रिया कॉल को कॉल करने के लिए। अगर एसक्यूएसएच अनुमान ग़लत है, कई झंडे हैं
इसे सही डेटा प्रकार रूपांतरण करने के लिए बाध्य करने के लिए आपूर्ति की गई (देखें)। parm_opt).
डिस्प्ले ऑप्शंस
निम्नलिखित विकल्प कमांड लाइन पर कहीं भी दिए जा सकते हैं और प्रभावित करने के लिए उपयोग किए जाते हैं
वह तरीका जिससे दूरस्थ प्रक्रिया कॉल से परिणाम सेट लौट रहे हैं
प्रदर्शित:
-डी डिस्प्ले
यदि X समर्थन को sqsh में संकलित किया गया है, तो का मान प्रदर्शन X विंडोज़ के रूप में उपयोग किया जाता है
प्रदर्शन चर. ध्यान दें, यह आमतौर पर इसके साथ आपूर्ति की जाती है -x झंडा, नीचे.
-f पाद लेख संदेश "(%d पंक्तियाँ प्रभावित)" का प्रदर्शन बंद कर देता है। फ़ुटर संदेश हो सकते हैं
के माध्यम से भी बंद कर दिया जाएगा $फुटर्स चर।
-h सभी कॉलम हेडर बंद कर देता है। इन्हें के माध्यम से बंद भी किया जा सकता है $शीर्षक चर।
-एम शैली
प्रदर्शन शैली को अस्थायी रूप से बदल देता है अंदाज आदेश की अवधि के लिए.
वर्तमान में समर्थित शैलियाँ हैं क्षितिज (या होर or क्षैतिज), हरा रंग (या ऊर्ध्वाधर), BCP,
csv, HTML, मेटा, सुंदर और कोई नहीं. प्रदर्शन शैली को इसके माध्यम से स्थायी रूप से सेट किया जा सकता है
$शैली चर या -m कमांड लाइन झंडा।
-r निष्पादन से पहले प्रक्रिया को पुन: संकलित करने का अनुरोध।
-w चौड़ाई
आउटपुट चौड़ाई को अस्थायी रूप से सेट करता है चौडाई. आउटपुट चौड़ाई स्थायी रूप से सेट की जा सकती है
के माध्यम से $चौड़ाई चर।
-x [xgeom]
आउटपुट को एक अलग X विंडो पर भेजता है। अगर xgeom आपूर्ति की जाती है, तो एक्स विंडो इसका उपयोग करती है
ज्यामिति (देखें $xgeom ब्योरा हेतु)।
-टी xwin_title
बनाने के लिए X परिणाम विंडो का शीर्षक नाम निर्दिष्ट करें। यह अस्थायी रूप से होगा
के मान को ओवरराइड करें $xwin_शीर्षक. केवल -T के साथ संयोजन में निर्दिष्ट करना उपयोगी है -x.
प्राचल ऑप्शंस
पैरामीटर निर्दिष्ट करने से तुरंत पहले निम्नलिखित विकल्प उपलब्ध कराए जा सकते हैं मूल्य
और जिस तरह से प्रभावित करने के लिए उपयोग किया जाता है एसक्यूएसएच की सामग्री की व्याख्या करता है मूल्य से पहले
दूरस्थ प्रक्रिया को कॉल करना। हालांकि एसक्यूएसएच इन मापदंडों के किसी भी संयोजन की अनुमति देगा
संयुक्त होने के लिए, केवल संयोजन करना ही वास्तव में समझ में आता है -x किसी अन्य झंडे के साथ झंडा.
-बी इंगित करता है कि मूल्य जो निर्दिष्ट है उसे पहले VARBINARY में परिवर्तित किया जाना चाहिए
बुला rpc_name. यह ध्वज निहित है (अर्थात् आपको इसकी आपूर्ति करने की आवश्यकता नहीं है) यदि मूल्य शुरू होता है
"0x" के साथ और इसमें केवल अंक हैं।
-सी इंगित करता है कि मूल्य जो निर्दिष्ट है उसे पहले VARCHAR में परिवर्तित किया जाना चाहिए
बुला rpc_name. यह ध्वज निहित है यदि मूल्य किसी भी अन्तर्निहित से मेल नहीं खाता
अन्य डेटा प्रकारों के लिए रूपांतरण।
-d इंगित करता है कि मूल्य जो निर्दिष्ट है उसे डबल (फ्लोट) में परिवर्तित किया जाना चाहिए
कॉल करने से पहले rpc_name. यह ध्वज निहित है यदि मूल्य वैध फ़्लोटिंग पॉइंट में है
अंकन (जैसे 0.1, .1, 1.4e10, या 4e10)।
-i इंगित करता है कि मूल्य जो निर्दिष्ट है उसे पहले पूर्णांक (int) में परिवर्तित किया जाना चाहिए
बुला rpc_name. यह ध्वज निहित है यदि मूल्य केवल अंक शामिल हैं (और,
वैकल्पिक रूप से, एक अग्रणी संकेत)।
-y इंगित करता है कि मूल्य जो निर्दिष्ट है उसे कॉल करने से पहले पैसे में परिवर्तित किया जाना चाहिए
rpc_name. यह ध्वज निहित है यदि मूल्य "$" से शुरू होता है, और इसमें केवल अंक होते हैं
और, वैकल्पिक रूप से, एक दशमलव।
-n इंगित करता है कि मूल्य जो निर्दिष्ट है उसे पहले संख्यात्मक में परिवर्तित किया जाना चाहिए
बुला rpc_name. यह ध्वज कभी भी अंतर्निहित नहीं होता, जैसे मूल्य हमेशा किसी भी int से मेल खाएगा
(-i) या फ़्लोट (-d); हालाँकि, इन दोनों प्रकारों को अंतर्निहित रूप से परिवर्तित कर दिया जाएगा
प्रक्रिया कॉल द्वारा आवश्यक संख्यात्मक।
-यू यह इंगित करता है मूल्य इसे अनदेखा किया जाना चाहिए और शून्य मान के रूप में माना जाना चाहिए, यह ध्वज है
निहित यदि मूल्य है ""।
बफ़र
निम्नलिखित कमांड का उपयोग विभिन्न बफ़र्स को बनाने, नष्ट करने या हेरफेर करने के लिए किया जा सकता है
में वर्णित बफ़र्स अनुभाग, ऊपर.
\स्पष्ट
RSI \स्पष्ट आदेश वर्तमान बफ़र को त्याग देगा और इसके विपरीत होगा
\रीसेट आदेश, वर्तमान बफ़र को इतिहास में नहीं सहेजेगा। जब sqsh संकलित किया जाता है
रीडलाइन समर्थन के साथ, यह कमांड स्क्रीन को भी साफ़ कर देगा। (जैसा कि ^एल करता है।) द
उर्फ स्पष्ट स्टार्टअप पर स्वचालित रूप से स्थापित हो जाता है।
\इतिहास [-i] [-x गिनती]
अंतिम प्रदर्शित करता है $histsize बैच जो या तो डेटाबेस के माध्यम से भेजे गए हैं
\जाना आदेश या से मंजूरी दे दी काम बफर के माध्यम से \रीसेट आज्ञा। विकल्प के साथ -i
यह भी प्रदर्शित करें कि बफ़र का उपयोग कितनी बार किया गया है और बफ़र आखिरी बार कब किया गया था
इस्तेमाल किया गया। का उपयोग करते समय यह जानकारी विशेष रुचिकर हो सकती है $histunique सुविधा.
RSI -x विकल्प इसके बजाय प्रदर्शित करने के लिए सबसे हालिया इतिहास प्रविष्टियों की संख्या निर्दिष्ट कर सकता है
इतिहास प्रविष्टियों की कुल सूची में से।
\ इतिहास-लोड [फ़ाइल नाम]
एक इतिहास फ़ाइल लोड करें और आइटम को वर्तमान इतिहास सूची में जोड़ें। उपयोग $इतिहास यदि नही
फ़ाइल नाम को एक पैरामीटर के रूप में निर्दिष्ट किया गया है।
\ इतिहास-सहेजें [फ़ाइल नाम]
वर्तमान इतिहास बफ़र्स को सहेजेगा $इतिहास फ़ाइल या फ़ाइल नाम के लिए
एक पैरामीटर के रूप में निर्दिष्ट।
\फिर से बनाएं
इसे पुनः प्रदर्शित करने के लिए अनुरोध को वर्तमान रीड-इवल-प्रिंट लूप पर वापस लौटाता है
वर्तमान काम बफर. यदि गैर-इंटरैक्टिव मोड से चलाया जाता है, तो इस आदेश का कोई प्रभाव नहीं पड़ता है।
\रीसेट
RSI \रीसेट आदेश सीधे से मेल खाता है आईएसक्यूएल 'रीसेट' कमांड, रिटर्निंग ए
वर्तमान की सामग्री को साफ़ करने के लिए रीड-इवल-प्रिंट लूप से अनुरोध करें काम बफर
और, यदि आप इंटरैक्टिव मोड में चल रहे हैं, तो बफर की एक प्रति इसमें रखें
इतिहास बफर. उपनाम रीसेट करें के स्टार्टअप पर स्वचालित रूप से स्थापित हो जाता है एसक्यूएसएच एसटी
के साथ पिछड़ी संगतता आईएसक्यूएल.
\buf-डीएसटी-बफर जोड़ें [src-बफर]
की सामग्री जोड़ता है src-बफर (डिफ़ॉल्ट रूप से !.) की सामग्री के लिए डीएसटी-बफर, अगर
यह मौजूद है। अगर डीएसटी-बफर अस्तित्व में नहीं है यह बनाया गया है.
\buf-कॉपी डीएसटी-बफर [src-बफर]
की सामग्री की प्रतिलिपि बनाता है src-बफर (डिफ़ॉल्ट करने के लिए !., काम बफर, यदि आपूर्ति नहीं की गई है),
सेवा मेरे डीएसटी-बफर। को देखें बफ़र्स बफ़र नामकरण परंपराओं पर जानकारी के लिए।
\buf-del [बफर|रेंज]
इतिहास सूची से इतिहास बफ़र हटाएँ। आप एक श्रेणी सूची भी निर्दिष्ट कर सकते हैं
इसमें '-' द्वारा अलग किए गए पहले और अंतिम बफ़र नंबर शामिल हैं। उदाहरण के लिए:
"\buf-del 1-10" पहली 10 इतिहास प्रविष्टियाँ हटा देगा। एक अन्य उदाहरण, "\buf-del
21" केवल बफ़र संख्या 21 को हटा देगा। ध्यान दें कि इतिहास बफ़र्स होंगे
लगातार पुनः क्रमांकित किया गया।
\buf-संपादित करें [-r read-buf] [-w लिखें-buf]
RSI \buf-संपादित करें कमांड का उपयोग बफर की सामग्री को संपादित करने और परिवर्तन करने के लिए किया जाता है
दूसरे बफ़र में. यह कमांड केवल इंटरैक्टिव मोड में ही चलाया जा सकता है। अगर पढ़ा
buf आपूर्ति नहीं की गई है तो संपादित किया जाने वाला बफ़र डिफ़ॉल्ट हो जाता है!, यदि यह खाली नहीं है,
अन्यथा यह डिफ़ॉल्ट है!! अगर राइट-बफ़ आपूर्ति नहीं की गई है तो संपादित बफ़र है
को वापस लिखा गया!..
डिफ़ॉल्ट रूप से, \buf-संपादित करें पर्यावरण चर का उपयोग करता है $ EDITOR पहले, उसके बाद $दृश्य
यह निर्धारित करने के लिए कि किस संपादक का उपयोग करना है, यदि वेरिएबल सेट नहीं है तो डिफ़ॉल्ट रूप से 'vi' चुनें।
यह ध्यान रखना महत्वपूर्ण है कि रिलीज़ 1.2 के अनुसार, \buf-संपादित करें अब उपयोग करने में सक्षम नहीं है
इसे लॉन्च करने वाले संपादक के नाम के रूप में एक उपनाम का नाम दें। इसका प्रमुख कारण है
उपनाम के व्यवहार में परिवर्तन (अनुभाग देखें)। एलियासिंग, नीचे, विवरण के लिए)।
आज्ञा संपादित vi और Emacs के स्टार्टअप पर स्वचालित रूप से स्थापित हो जाते हैं एसक्यूएसएच एसटी
के साथ पिछड़ी संगतता आईएसक्यूएल.
\buff-बफर प्राप्त करें
RSI \buf-प्राप्त करें कमांड को चलाने की शॉर्टहैंड विधि के रूप में आपूर्ति की जाती है \buf-कॉपी यह
दौड़ने के बराबर:
\buf_जोड़ें !. बफर
\buf-load [-a] फ़ाइल नाम [dst-buffer]
की सामग्री की प्रतिलिपि बनाता है फ़ाइल का नाम in डीएसटी-बफर (डिफ़ॉल्ट रूप से !.). यदि -a झंडा है
आपूर्ति की गई, की सामग्री फ़ाइल का नाम से जुड़े हुए हैं डीएसटी-बफर. ध्यान दें कि यह गैरकानूनी है
इतिहास बफ़र की सामग्री को लिखने का प्रयास करने के लिए।
\buf-save [-a] फ़ाइल नाम [src-buffer]
की सामग्री सहेजता है src-बफर (डिफ़ॉल्ट रूप से !.) को फ़ाइल का नाम। अगर -a झंडा है
बशर्ते सामग्री संलग्न हो फ़ाइल का नाम वर्तमान को अधिलेखित करने के बजाय
सामग्री।
\बफ-शो [बफर]
नामित की सामग्री प्रदर्शित करता है बफर. अगर बफर आपूर्ति नहीं की जाती है, तो
सभी नामित बफ़र्स की सामग्री प्रदर्शित की जाती है। यह कमांड थोड़ा अलग है
ऊपर दिए गए आदेशों में यह केवल आपूर्ति करना कानूनी है नामांकित बफर बफर, इतिहास
बफ़र, और काम बफर कोई परिणाम नहीं होगा.
चर
निम्नलिखित कमांड का उपयोग आंतरिक चर की सामग्री में हेरफेर करने के लिए किया जाता है
पर्यावरण चर।
\सेट [-x] [नाम=मूल्य ...]
यदि कोई तर्क प्रदान नहीं किया गया है \सेट तो सभी चरों के वर्तमान मान हैं
प्रदर्शित. अन्यथा चर नाम इसके लिए सेट है मूल्य. ध्यान दें कि कुछ आंतरिक
चर (देखें विशेष चर) केवल निश्चित के साथ सेट किया जा सकता है मूल्यs, तो यह क्रिया
पिछली सामग्री को छोड़कर विफल हो सकता है नाम अखंड। -x ध्वज का कारण बनता है
वेरिएबल को लॉन्च किए गए किसी भी प्रोग्राम के वातावरण में निर्यात किया जाना है एसक्यूएसएच.
काम नियंत्रण
निम्न आदेशों का उपयोग पृष्ठभूमि नौकरियों की स्थिति देखने या उनमें हेरफेर करने के लिए किया जाता है
वर्तमान में चल रहे हैं, ये मोटे तौर पर ऐसे शेल्स द्वारा आपूर्ति किए गए आदेशों के अनुरूप हैं
csh(1).
\ नौकरियाँ [-i]
वर्तमान में चल रहे किसी भी कार्य की स्थिति प्रदर्शित करता है, जिसमें ये कार्य शामिल हैं या नहीं
उनका आउटपुट लंबित है, वे कितने समय से चल रहे हैं, और उन्हें कब शुरू किया गया था।
-i विकल्प कुछ अतिरिक्त नौकरी की जानकारी दिखाएगा। ध्यान दें कि कुल रन टाइम
कार्य उस क्षण से निर्धारित होता है जब रीड-इवल द्वारा कार्य को पूर्ण चिह्नित किया जाता है-
प्रिंट लूप जब मतदान किया जाता है, तब नहीं जब यह वास्तव में समाप्त हो जाता है और इसे समाप्त के रूप में चिह्नित किया जाता है
सिग्नल हैंडलर.
\प्रतीक्षा करें [job_id]
कार्य द्वारा निर्दिष्ट होने तक रुकेंगे नौकरी आईडी पूरा करता है। अगर नौकरी आईडी एक ऋणात्मक संख्या है
फिर \इंतज़ार तक रुकेगा कोई लंबित कार्य पूरे होंगे. यदि कोई कार्य लंबित नहीं है,
or नौकरी आईडी चालू कार्य से संबंधित नहीं है, तो एक त्रुटि संदेश प्रदर्शित होता है। टिप्पणी
कि यदि एकाधिक नौकरियाँ चल रही हैं, और a \इंतज़ार उनमें से एक के लिए जारी किया जाता है, दूसरे के लिए
प्रतीक्षा अवधि के भीतर पूरा होने पर कार्य स्वचालित रूप से संकेतित नहीं हो सकते हैं
विशिष्ट कार्य. अन्य नौकरियों को ए से संकेत प्राप्त करने की आवश्यकता हो सकती है \इंतज़ार -1 होने के लिए भी
द्वारा पूरा देखा गया एसक्यूएसएच.
\killjob_id
द्वारा निर्दिष्ट कार्य को समाप्त करता है नौकरी आईडी, किसी भी आउटपुट को फेंक देना जिसे स्थगित किया जा सकता है
कार्य के लिए। अगर नौकरी आईडी चालू कार्य नहीं है तो एक त्रुटि संदेश प्रदर्शित होता है।
\जॉब_आईडी दिखाएं
पूर्ण पृष्ठभूमि कार्य का विलंबित आउटपुट प्रदर्शित करता है नौकरी आईडी और नौकरी हटा देता है
लंबित कार्यों की सूची से (प्रक्रिया में स्थगित फ़ाइल को हटाना)। अगर नौकरी आईडी is
अभी भी चल रहा है, या वैध पूर्ण कार्य नहीं है, तो एक त्रुटि संदेश प्रदर्शित होता है। आप
जारी करने की आवश्यकता हो सकती है \इंतज़ार नौकरी आईडी सबसे पहले, वास्तविक कार्य पूरा होने की सूचना प्राप्त करना।
एलियासिंग
रिलीज 1.2 के अनुसार, एसक्यूएसएच पूर्ण समर्थन करता है csh-स्टाइल कमांड अलियासिंग। इस सुविधा के साथ, एसक्यूएसएच
प्रत्येक पंक्ति का पहला शब्द जाँचता है, पूर्व सेवा मेरे कोई प्रपत्र of विस्तार, यह देखने के लिए कि क्या यह मेल खाता है
किसी मौजूदा उपनाम का नाम. यदि ऐसा होता है, तो कमांड को उपनाम के साथ पुन: संसाधित किया जाता है
परिभाषा इसके नाम की जगह ले रही है। भिन्न cshहालाँकि, इतिहास प्रतिस्थापन का केवल एक रूप
एक उपनाम के भीतर उपलब्ध है: '!*'प्रविष्टि, वर्तमान लाइन के विस्तार का संकेत देती है।
यदि किसी इतिहास विस्तार की आवश्यकता नहीं है, तो कमांड लाइन पर तर्क अपरिवर्तित रहते हैं।
पसंद csh, उपनामों का पुनरावर्ती विस्तार नहीं किया जाता है, इसलिए इसे बनाना पूरी तरह से कानूनी है
उपनाम जो समान नाम से एक कमांड तक विस्तारित होता है।
उपनाम बनाने के लिए निम्नलिखित कमांड का उपयोग किया जाता है:
\उपनाम [उर्फ_नाम=उलियास_बॉडी]
यदि कोई तर्क उपलब्ध नहीं कराया गया है \उर्फ कमांड, फिर वर्तमान में उपनामों की सूची
प्रभाव में प्रदर्शित होता है। अन्यथा, यह के नाम से एक नया उपनाम बनाता है उर्फ नाम
और का एक शरीर उपनाम_शरीर; अगर उर्फ नाम पहले से ही विद्यमान है, विद्यमान का शरीर
उर्फ नाम को नई परिभाषा से प्रतिस्थापित कर दिया गया है।
नए उपनाम को परिभाषित करने के बाद, जब भी एसक्यूएसएच से शुरू होने वाली एक पंक्ति का सामना करता है
उर्फ नाम, पंक्ति के शेष भाग को प्रतिस्थापित कर दिया जाता है उपनाम_शरीर आगे बढ़ने से पहले
प्रसंस्करण किया जाता है.
यदि स्ट्रिंग '!*' भीतर कहीं भी मौजूद है उपनाम_शरीर, को दिए गए तर्क
उस बिंदु पर उपनाम डाला जाता है, अन्यथा तर्क को अंत में जोड़ा जाता है
उपनाम परिभाषा. उदाहरण के लिए:
1> \उपनाम हाय='\गूंज !* नमस्ते कहा'
1> हाय स्कॉट
स्कॉट ने नमस्ते कहा
जबकि यदि उपनाम में शामिल नहीं है !* कीवर्ड, तो यह इस प्रकार व्यवहार करता है:
1> \उपनाम हाय='\इको ने नमस्ते कहा'
1> हाय स्कॉट
हेलो स्कॉट ने कहा
ए को शामिल करना पूरी तरह से कानूनी है !* किसी दिए गए के भीतर एक से अधिक बार उपनाम_शरीर.
वर्तमान में स्ट्रिंग से बचने का कोई रास्ता नहीं है !*, यदि आपको वास्तव में इस सुविधा की आवश्यकता है
मुझे मेल भेजें.
\unalias उपनाम_नाम
निकालता है उर्फ नाम.
कई तरह का
बचे हुए आदेश.
\बाहर निकलें [x]
RSI \बाहर निकलना कमांड अनुरोध करता है कि वर्तमान रीड-इवल-प्रिंट लूप प्रोसेसिंग बंद कर दे। कब
अंतिम लूप लौटता है, एसक्यूएसएच निकास(1)एस। आप पैरामीटर के रूप में एक निकास कोड निर्दिष्ट कर सकते हैं
में संग्रहीत किया जाएगा $exit_value और बाहर निकलने पर शेल में रिटर्न वैल्यू के रूप में उपयोग किया जाएगा
of एसक्यूएसएच. (0 <= x <= 255).
\गर्भपात
सभी नेस्टेड रीड-इवल-प्रिंट लूप्स के कारण प्रोसेसिंग रुक जाती है, जिसके कारण एसक्यूएसएच के साथ बाहर निकलना
254 का निकास मान (अनुभाग देखें बाहर निकलें स्थिति).
\पढ़ें [-ए] [-एन] [-एच] var_name
उपयोगकर्ता से इनपुट की एक पंक्ति को पढ़ता है, पंक्ति के पाठ को वेरिएबल में रखता है
वर_नाम। अगर -n का उपयोग किया जाता है, फिर पिछली नई पंक्ति को पाठ की पंक्ति पर छोड़ दिया जाता है,
और अगर -a आपूर्ति की जाती है, तो पंक्ति का पाठ मौजूदा मान से जोड़ दिया जाता है
वर_नाम। -h फ़्लैग उपयोगकर्ता के पास टाइप किए गए वर्णों की प्रतिध्वनि को वापस बंद कर देता है।
\सो सेकंड
कारणों एसक्यूएसएच के लिए भी रुकें सेकंड. यह उन बैचों की स्क्रिप्ट के लिए उपयोगी है जिनकी आवश्यकता है
बैचों के बीच संक्षेप में रुकना (यह मुख्य रूप से पृष्ठभूमि के परीक्षण के लिए मेरे लिए उपयोगी था
नौकरियां)।
\प्रतिध्वनि [-एन] [तर्क ...]
बिलकुल UNIX की तरह गूंज(1), यह अपने तर्कों को stdout पर प्रिंट करता है, उसके बाद एक नया-
रेखा। अगर -n ध्वज की आपूर्ति की गई है, नई पंक्ति छोड़ी गई है।
\वारंटी
मानक जीएनयू वारंटी प्रदर्शित करता है।
\मदद [कमांड]
बिना किसी तर्क के \मदद सभी उपलब्ध आदेशों की एक संक्षिप्त सूची प्रदर्शित करता है,
अन्यथा, यह विशिष्ट सहायता प्रदान करता है आदेश, अगर हो तो। जब मदद मांगी जाती है
एक विशिष्ट पर आदेश, \मदद फ़ाइल ढूंढता है $help_dir/command.hlp और उसे प्रदर्शित करता है
स्टडआउट करने के लिए।
\शेल [शेल कमांड]
If खोल आदेश तब आपूर्ति नहीं की जाती है एसक्यूएसएच मार डाला $शैल। अगर $शैल चर है
सेट नहीं किया गया है, फिर, डिफ़ॉल्ट रूप से, / बिन / श निष्पादित किया जाता है। अन्यथा, यदि खोल आदेश is
आपूर्ति की जाती है फिर इसे निष्पादित किया जाता है। निष्पादित कमांड की निकास स्थिति को संग्रहीत किया जाता है
विशेष $? केवल पढ़ने योग्य पर्यावरण चर।
\ताला
सही पासवर्ड टाइप होने तक वर्तमान सत्र को लॉक करता है। डिफ़ॉल्ट रूप से \ताला
UNIX पासवर्ड का उपयोग करने का प्रयास (से / Etc / पासवर्ड) उपयोगकर्ता के चलने से संबंधित है
एसक्यूएसएच, तथापि यदि $ताला वेरिएबल सेट किया जाता है तो उसकी सामग्री का उपयोग किया जाता है
इसके बजाय सत्यापन।
ध्यान दें, शैडो पासवर्ड का उपयोग करने वाले सिस्टम पर (जिसमें एन्क्रिप्टेड पासवर्ड भी होता है)।
अनुपलब्ध), \ताला का उपयोग करके ही काम करेगा $ताला चर।
फर्जी नाम
निम्नलिखित उपनाम स्टार्टअप पर स्थापित किए जाते हैं एसक्यूएसएच, और मुख्य रूप से इसके लिए प्रदान किए जाते हैं
के साथ पिछड़ी संगतता आईएसक्यूएल. इनका उपयोग करके किसी भी समय हटाया जा सकता है \unalias
कमांड (या तो प्रॉम्प्ट पर, या आपकी .sqshrc फ़ाइल के भीतर)।
! ! उपनाम एक के रूप में प्रदान किया गया है csh(1)-इतिहास तंत्र की तरह, और का एक उपनाम है
\buf-संलग्न करें. रिलीज़ 0.7 के साथ, यह उपनाम केवल पश्चगामी संगतता के लिए प्रदान किया गया है
की पिछली रिलीज़ के साथ एसक्यूएसएच. देखना विशेष चर, $इतिहास_आशुलिपि ब्योरा हेतु
नए शॉर्टहैंड तंत्र पर (नया शॉर्टहैंड अधिक निकटता से मिलता जुलता है csh).
स्पष्ट
के लिए एक उपनाम \स्पष्ट आदेश, जो वर्तमान कार्य बफ़र की सामग्री का कारण बनता है
साफ़ किया जाना और त्याग दिया जाना। यदि रीडलाइन संकलित है तो स्क्रीन भी साफ़ हो जाएगी
में एसक्यूएसएच.
रीसेट करें
के लिए एक उपनाम \रीसेट आदेश, जो वर्तमान कार्य बफ़र की सामग्री का कारण बनता है
साफ़ किया जाए और इतिहास में कॉपी किया जाए (यदि इंटरैक्टिव मोड में हो)।
बाहर निकलें [x]
छोड़ो [x]
के लिए एक उपनाम \बाहर निकलना [X] कमांड, वर्तमान रीड-इवल-प्रिंट लूप का कारण बनता है
पूर्ण।
संपादित
vi
Emacs
इन्हें उपनाम के रूप में प्रदान किया गया है \buf-संपादित करें आज्ञा। देखना कमांड-बफ़र्स एसटी
के बीच बातचीत के बारे में जानकारी \buf-संपादित करें और उपनाम.
गो के लिए उपनाम के रूप में प्रदान किया गया \जाना आदेश (स्पष्ट कारणों से)।
मदद
के लिए एक उपनाम \मदद आदेश।
पंक्ति में \जाना
यदि चर $अर्धविराम_हैक 1 (चालू) पर सेट है, तो एसक्यूएसएच उस चीज़ का समर्थन करता है जिसे इन- कहा जाता है
line \जाना विशेषता। यह वर्तमान कमांड बैच को समाप्त करने और भेजने की अनुमति देता है
';' जोड़कर एक ही चरण में डेटाबेस वर्तमान कार्य बफ़र के अंत पर। यह
की अनुमति देता है
1> sp_who;
उसी तरीके से व्यवहार करना जैसे कि आपने टाइप किया हो:
1> sp_who
2>\जाओ
इसी तरह, अर्धविराम के बाद कुछ भी पास कर दिया जाता है \जाना आदेश वैसा ही जैसे वह था
सामान्य आदेश के रूप में चलाएँ:
1> sp_who ; 2>/dev/null | अधिक
अन्य के विपरीत आईएसक्यूएल प्रतिस्थापन, एसक्यूएसएच अर्धविरामों के बारे में होशियार होने का प्रयास। यदि एक
अर्धविराम एकल या दोहरे उद्धरण चिह्नों के सेट में समाहित है, इसकी व्याख्या नहीं की जाएगी।
इसमें अनेक उद्धरण शामिल हैं. उदाहरण के लिए:
1> चुनें "यह एक एकाधिक पंक्ति है
2>उद्धरण; यह स्मार्ट है!" ;
उपरोक्त उदाहरण में, केवल दूसरा अर्धविराम (पंक्ति के अंत में वाला) होगा
व्याख्या की।
विशेष चर
ऐसे कई विकल्प हैं जिन्हें कमांड लाइन विकल्पों के माध्यम से कॉन्फ़िगर किया जा सकता है एसक्यूएसएच,
हालाँकि ये किसी भी तरह से पूर्ण नहीं हैं। इसके कई पहलू हैं एसक्यूएसएचका व्यवहार जो हो सकता है
केवल विशेष चर सेट करके संशोधित किया जा सकता है। (वास्तव में, कमांड लाइन विकल्प वास्तव में हैं
ये वेरिएबल केवल आपके लिए सेट करें)।
परिवर्तनीय जानकारी प्रकार
अनुसरण करने वाले सभी वेरिएबल्स के आगे डेटा का प्रकार है जिसके साथ उन्हें सेट किया जा सकता है।
वेरिएबल को ऐसे डेटा के प्रकार के साथ सेट करने का कोई भी प्रयास विफल हो जाएगा जिसे वह स्वीकार नहीं करता है।
स्ट्रिंग
कोई अनुक्रम वर्ण.
बूलियन
सकारात्मक बूलियन मान को "सही", "हां", "1", या "चालू" के रूप में दर्शाया जा सकता है
(केस असंवेदनशील) और एक नकारात्मक बूलियन मान को "गलत", "नहीं" के रूप में दर्शाया जा सकता है।
"0", या "ऑफ़" (केस असंवेदनशील)। हालाँकि, आंतरिक रूप से वेरिएबल का मान होगा
हमेशा "1" या "0" के रूप में दर्शाया जाना चाहिए।
पथ
होना चाहिए पथ वह नाम जो पढ़ने योग्य हो एसक्यूएसएच कार्यक्रम.
int एक या अधिक अंक होना चाहिए। ध्यान दें कि कुछ चर की सीमा को भी प्रतिबंधित करते हैं
पूर्णांक।
दिनांक-विशेष
यह प्रारूप की एक स्ट्रिंग है जिसका उपयोग दिनांक और समय निर्दिष्ट करने के लिए किया जाता है डेटा(1)
आदेश, या स्ट्रैफ़टाइम(3C) और सीएफटाइम(3C) मानक सी पुस्तकालय कार्य। उदाहरण के लिए
'%H:%M:%S' 24 घंटे के प्रारूप में घंटों का समय निर्दिष्ट करता है, उसके बाद एक कोलन, उसके बाद
मिनटों के बाद, कोलन के बाद, सेकंड के बाद।
फ़्लोट-प्रारूप
प्रारूप की एक स्ट्रिंग पुनश्च, जहां p फ़्लोटिंग पॉइंट मान की कुल सटीकता है
(प्रदर्शित किए जाने वाले अंकों की कुल संख्या, जिसमें दशमलव के बाद आने वाले अंक भी शामिल हैं)
और s मान का पैमाना है (दशमलव के बाद अंकों की कुल संख्या)।
प्रदर्शित हों)।
चर
निम्नलिखित चरों के भीतर विशेष अर्थ हैं एसक्यूएसएच और इनकी सेटिंग
चर शेल के व्यवहार को बदल देते हैं।
$? (इंट)
इस रीड-ओनली वेरिएबल में निम्नलिखित रिटर्न मान हो सकता है:
· सबसे हालिया त्रुटि संख्या गंभीरता के SQL सर्वर (@@errno) से लौटी
10 (सूचनात्मक संदेशों के ऊपर)।
· पहले से निष्पादित पाइप कमांड का निकास मान।
· सबसे हाल ही में निष्पादित sqsh फ़ंक्शन का रिटर्न मान।
$$? (इंट)
इस वेरिएबल में अंतिम निष्पादित \if कथन का परिणाम हो सकता है:
- 0 -
परीक्षण का मूल्यांकन गलत पाया गया।
- 1 -
परीक्षण का मूल्यांकन सही पाया गया।
- 2 -
परीक्षण विनिर्देश में कोई त्रुटि थी.
$# (इंट)
इसमें sqsh फ़ंक्शन या स्क्रिप्ट में पारित तर्कों की संख्या शामिल है।
$* (स्ट्रिंग सूची)
जब फ़ंक्शन या स्क्रिप्ट को दिए गए तर्कों की पूरी सूची का विस्तार होता है
आह्वान किया।
${0}...${N} (int)
स्थितीय फ़ंक्शन तर्कों को संदर्भित करने के लिए उपयोग किया जाता है। तर्क ${0} का नाम है
फ़ंक्शन बुलाया जा रहा है, ${1} पहला तर्क है, आदि।
$$ वर्तमान चल रहे एसक्यूएसएच सत्र की प्रक्रिया आईडी तक विस्तारित होता है।
प्रदर्शन
इसमें उस DISPLAY का नाम शामिल हो सकता है जिसका उपयोग X-सर्वर XWindows परिणाम डालने के लिए करता है
उपयोग करते समय विंडो \जाना -x. के लिए डिफ़ॉल्ट $प्रदर्शन शैल पर्यावरण.
एप्लिकेशन का नाम
नाम शामिल है एसक्यूएसएच सर्वर पर स्वयं की पहचान करने के लिए उपयोग करता है। डिफ़ॉल्ट रूप से sqsh-2.1.7.
एप्लिकेशन का नाम sysprocesses तालिका से पुनर्प्राप्त किया जा सकता है जैसे:
master.dbo.sysprocesses से प्रोग्राम_नाम चुनें जहां spid=@@pid;
ऑटोउज़ (स्ट्रिंग)
नोट: इस वेरिएबल का अर्थ हटा दिया गया है।
If $autouse सेट है, और $डेटाबेस वेरिएबल सेट नहीं किया गया है, तो यह वेरिएबल
का कारण बनता है \जोड़ना "उपयोग" करने के लिए $autouse"एक बार कनेक्शन स्थापित हो गया।
इस वेरिएबल को का उपयोग करके भी सेट किया जा सकता है -D कमांड लाइन विकल्प
बैनर (बूलियन)
स्टार्टअप पर प्रदर्शित बैनर संदेश को बंद कर देता है, यह वेरिएबल डिफ़ॉल्ट रूप से 1 और हो सकता है
का उपयोग करके भी बंद कर दिया जाएगा -b कमांड लाइन तर्क.
बैच_फेलकाउंट (int)
इस आंतरिक चर का उपयोग विफल हुए बैचों की संख्या पर नज़र रखने के लिए किया जाता है
निष्पादित करने के लिए (अनिवार्य रूप से, त्रुटि हैंडलर को जितनी बार कॉल किया गया था)।
जब भी गंभीरता की कोई त्रुटि होती है तो एक बैच को विफल माना जाता है $thresh_fail is
सामना करना पड़ा कब $बैच_फेलकाउंट पहुँचती है $thresh_exit एसक्यूएसएच निकास मान के साथ बाहर निकलता है
असफल हुए बैचों की कुल संख्या में से। सेटिंग $बैच_फेलकाउंट को
स्ट्रिंग "" इसे शून्य पर रीसेट कर देगी, कोई अन्य मान अप्रत्याशित हो सकता है
परिणाम है.
देख बाहर निकलें स्थिति ब्योरा हेतु।
बैच_पॉज़ (बूलियन)
प्रत्येक बैच के बाद "रोका गया। जारी रखने के लिए एंटर दबाएं..." संदेश प्रदर्शित होता है
निष्पादित किया जाता है। यह चर, के साथ संयोजन के रूप में $गूंज SQL डिबगिंग के लिए अच्छा है
के साथ निर्दिष्ट स्क्रिप्ट -i विकल्प.
bcp_colsep (स्ट्रिंग)
बीसीपी स्टाइल आउटपुट के दौरान कॉलम के बीच विभाजक के रूप में उपयोग किया जाता है (देखें)। $शैली
कॉन्फ़िगरेशन चर और -m विकल्प \जाना आज्ञा)। डिफ़ॉल्ट सेटिंग है
"|"।
bcp_rowsep (स्ट्रिंग)
बीसीपी शैली आउटपुट के दौरान पंक्तियों के बीच विभाजक के रूप में उपयोग किया जाता है (देखें)। $शैली विन्यास
परिवर्तनशील और -m विकल्प \जाना आज्ञा)। ध्यान दें, एक नई पंक्ति ("\n") है
यह मान स्वचालित रूप से जोड़ा गया है और इसकी आपूर्ति नहीं की जानी चाहिए। डिफ़ॉल्ट सेटिंग है
"|"।
bcp_trim (बूलियन)
यह नियंत्रित करता है कि बीसीपी स्टाइल आउटपुट निश्चित लंबाई से पिछली जगहों को ट्रिम करता है या नहीं
कॉलम. डिफ़ॉल्ट "सत्य" है.
जंजीर (बूलियन)
यदि सेट किया गया है तो sqsh "जंजीर" लेनदेन मोड (उर्फ "ऑटोकॉमिट ऑफ") का उपयोग करता है। सेटिंग
इसका वर्तमान कनेक्शन पर कोई प्रभाव नहीं पड़ता है. इसे कमांड लाइन के जरिए सेट किया जा सकता है
तर्क -n.
वर्णसेट (स्ट्रिंग)
यदि यह वेरिएबल SQL सर्वर के साथ कनेक्शन स्थापित करने से पहले सेट किया गया है, तो
कनेक्शन के दौरान एसक्यूएसएच अनुरोध करेगा कि सर्वर से और में परिवर्तित हो जाए
का अनुरोध किया चारसेट. कनेक्शन स्थापित करने के बाद, यह वेरिएबल स्वचालित रूप से सेट हो जाता है
उपयोग में आने वाले वर्तमान वर्ण सेट के लिए।
Clear_on_fail (बूलियन)
आम तौर पर, जब भी \जाना आदेश चलाया जाता है, एसक्यूएसएच इसके वर्तमान कार्य बफ़र को साफ़ करता है
सामग्री, उन्हें इतिहास में ले जाना। सेटिंग $clear_on_fail 0 पर, वर्तमान कार्य छोड़ देता है
यदि डेटाबेस में सामग्री भेजते समय कोई विफलता आती है तो बफर बरकरार रहेगा।
डिफ़ॉल्ट मान 1, या चालू है.
कोलसेप (स्ट्रिंग)
स्ट्रिंग का कारण बनता है कोलसेप इसका उपयोग SQL कॉलम आउटपुट कॉलम को परिसीमित करने के लिए किया जाना है
डिफ़ॉल्ट रूप से " ", इसे कमांड लाइन तर्क के माध्यम से भी सेट किया जा सकता है -s.
कोलविड्थ (int)
द्वारा प्रदर्शित अधिकतम कॉलम चौड़ाई को नियंत्रित करने के लिए उपयोग किया जाता है सुंदर प्रदर्शन शैली (देखें)
$शैली नीचे)। यदि किसी स्तंभ की कोई पंक्ति इस चौड़ाई से अधिक है, तो इसे एक में लपेटा जाएगा
अपेक्षाकृत दृष्टिगत रूप से आकर्षक तरीके से $colwidth पात्र। हालाँकि, ध्यान दें कि यदि
सभी कॉलमों को रखने के लिए पर्याप्त स्क्रीन चौड़ाई है $colwidth तक पार किया जा सकता है
स्क्रीन की चौड़ाई तक पहुँच गया है.
डेटाबेस (स्ट्रिंग)
यदि यह वेरिएबल SQL सर्वर से कनेक्शन स्थापित करने से पहले सेट किया गया है, तो a
"उपयोग $डेटाबेस"कनेक्शन स्थापित होने के तुरंत बाद किया जाता है। एक बार
कनेक्शन स्थापित हो गया है, यह वेरिएबल स्वचालित रूप से करंट पर सेट हो जाएगा
डेटाबेस संदर्भ.
दिनांक (दिनांक-विशेष)
इस वेरिएबल को दिनांक प्रारूप के साथ सेट किया जा सकता है (इसके लिए मैन पेज देखें)। डेटा(1)), और यह
वेरिएबल आपूर्ति किए गए प्रारूप में वर्तमान दिनांक तक विस्तारित होता है। के लिए डिफ़ॉल्ट प्रारूप
यह वेरिएबल %d-%b-%y है (जैसे 02-फरवरी-1996)।
दिनांकसमय (दिनांक-विशेष)
इस वेरिएबल को समान दिनांक प्रारूप के साथ सेट किया जा सकता है $तारीख और $ समय और करने के लिए प्रयोग किया जाता है
सभी SQL सर्वर DATETIME और SMALLDATETIME कॉलम के प्रदर्शन प्रारूप को नियंत्रित करें।
ध्यान दें कि यह सुविधाएँ ऑपरेटिंग सिस्टम की विशिष्ट स्थानीय जानकारी पर निर्भर करती हैं
जाने के बजाय, महीने और दिन के नाम जैसी चीज़ों को निर्धारित करने के लिए
सीटी-लिब स्थानीय जानकारी के माध्यम से। इसका मतलब यह है कि दिनांक प्रारूप हो सकता है
का उपयोग करने के अनुरोध के अनुसार संभावित रूप से लोकेल का मिस-मैच हो सकता है -z झंडा। उदाहरण के लिए, यदि एसक्यूएसएच
यूएस अंग्रेज़ी के लिए कॉन्फ़िगर किए गए ऑपरेटिंग सिस्टम पर चलाया जाता है, लेकिन फ़्रेंच को इसके लिए अनुरोध करता है
पसंद की भाषा का उपयोग करना -z, का उपयोग $दिनांकसमय सभी तारीख की जानकारी का कारण होगा
फ़्रेंच के बजाय अमेरिकी अंग्रेज़ी में प्रदर्शित किया जाए।
वेरिएबल में परिभाषित सामान्य वर्ण बिना किसी रूपांतरण के यथास्थान छोड़ दिए जाते हैं।
कॉलम मान के प्रदर्शन के दौरान '%' वर्ण द्वारा प्रस्तुत वर्णों को बदल दिया जाता है
के रूप में इस प्रकार है:
[] ब्रेसिज़ की एक जोड़ी ('[' और ']') के बीच मौजूद किसी भी चीज़ को हटा दिया जाएगा
SMALLDATETIME कॉलम प्रदर्शित करना। यह सुविधा हटाने के लिए विशेष रूप से उपयोगी है
सेकंड और मिलीसेकंड मान जो SMALLDATETIME पर लागू नहीं होते हैं
फिर भी। DATETIME कॉलम के लिए, केवल वास्तविक ब्रेसिज़ हटा दिए जाएंगे।
%a वर्तमान ऑपरेटिंग सिस्टम स्थान के अनुसार संक्षिप्त कार्यदिवस का नाम।
%A वर्तमान ऑपरेटिंग सिस्टम स्थान के अनुसार पूरे कार्यदिवस का नाम।
%b वर्तमान ऑपरेटिंग सिस्टम स्थान के अनुसार संक्षिप्त महीने का नाम।
%B वर्तमान ऑपरेटिंग सिस्टम स्थान के अनुसार पूरे महीने का नाम।
%c वर्तमान ऑपरेटिंग सिस्टम के लिए पसंदीदा दिनांक और समय प्रतिनिधित्व
स्थानीय.
%d महीने का दिन दशमलव संख्या के रूप में (सीमा 0 से 31 तक)।
%D अमेरिकी प्रारूप में तारीख (मिमी/दिन/वर्ष)।
%H 24 घंटे की घड़ी का उपयोग करके दशमलव संख्या के रूप में घंटा (सीमा 00 से 23)
%I 12-घंटे की घड़ी का उपयोग करके दशमलव संख्या के रूप में घंटा (सीमा 01 से 12)
%j वर्ष का दिन दशमलव संख्या के रूप में (सीमा 001 से 366 तक)।
%m दशमलव संख्या के रूप में महीना (सीमा 10 से 12)।
%M दशमलव संख्या के रूप में मिनट.
%p दिए गए समय मान के अनुसार या तो 'हूँ' या 'दोपहर', या संगत
वर्तमान ऑपरेटिंग सिस्टम लोकेल के लिए स्ट्रिंग्स।
%r समय 12 घंटे के प्रारूप में (hh:mm:ss [AM|PM])।
ईपीओसी के बाद से %s सेकंड (1970-01-01 00:00:00 यूटीसी) (यह सभी पर समर्थित नहीं है)
सिस्टम)।
%S दशमलव संख्या के रूप में दूसरा.
%T वर्तमान समय 24 घंटे के प्रारूप में (hh:mm:ss)।
%u दशमलव संख्या के रूप में मिलीसेकंड.
%U चालू वर्ष की सप्ताह संख्या दशमलव संख्या के रूप में, पहले से शुरू होती है
पहले सप्ताह का पहला दिन रविवार.
%W चालू वर्ष की सप्ताह संख्या दशमलव संख्या के रूप में, पहले से शुरू होती है
पहले सप्ताह का पहला दिन सोमवार।
%w सप्ताह का दिन दशमलव के रूप में, रविवार 0 है।
%x समय के बिना वर्तमान स्थान के लिए पसंदीदा दिनांक प्रतिनिधित्व।
%X दिनांक के बिना वर्तमान स्थान के लिए पसंदीदा समय प्रतिनिधित्व।
%y वर्ष बिना किसी शतक के दशमलव संख्या के रूप में (श्रेणी 00 से 99 तक)।
%Y सदी सहित दशमलव संख्या के रूप में वर्ष।
%Z समय क्षेत्र (जैसे, EDT), या यदि समय क्षेत्र नहीं है तो कुछ भी निर्धारित नहीं किया जा सकता है।
%% एक शाब्दिक '%' वर्ण.
डिबग (स्ट्रिंग)
If एसक्यूएसएच डिबगिंग सक्षम (-DDEBUG) के साथ संकलित किया गया है, इस चर का उपयोग किया जा सकता है
प्रदर्शित डिबगिंग आउटपुट की मात्रा को नियंत्रित करने के लिए। $डीबग एक पाइप पर सेट किया जा सकता है (|)
विभिन्न टुकड़ों को चालू करने के लिए निम्नलिखित शब्दों का सीमांकित (तार्किक या) सेट
डिबगिंग: ALIAS, AVL, बीसीपी, प्रदर्शन, लि, त्रुटि, विस्तार, FD, नौकरी, पढ़ने के लिए लाइन (एबीबीआर। RL),
आरपीसी, स्क्रीन, हस्ताक्षर, सिगचल्ड (या एसआईजीसीएलडी) या सब.
defer_bg (बूलियन)
आम तौर पर, जब कोई कार्य पृष्ठभूमि में चलाया जाता है (कमांड लाइन पर '&' के माध्यम से), तो
कार्य का आउटपुट एक अस्थायी फ़ाइल (में स्थित) में स्थगित कर दिया गया है $tmp_dir) उपयोगकर्ता तक
आउटपुट का उपयोग करके प्रदर्शित करने का अनुरोध करता है \दिखाना नौकरी आईडी. इस प्रकार कार्य का फल मिलता है
उपयोगकर्ता जो कर रहा है उसमें हस्तक्षेप नहीं करेगा। इस वेरिएबल को झूठी इच्छा पर सेट करना
परिणामस्वरूप कोई विलंबित आउटपुट फ़ाइलें नहीं बनाई जाएंगी और आउटपुट स्क्रीन पर नहीं भेजा जाएगा
तुरंत
प्रतिध्वनि (बूलियन)
की स्थापना $गूंज ऑन (1) के माध्यम से डेटाबेस में सबमिट किए गए प्रत्येक कमांड का कारण बनता है \जाना
आउटपुट से पहले प्रदर्शित होने वाला कमांड। यह वेरिएबल डिफ़ॉल्ट रूप से 0 (या बंद), और पर सेट होता है
का उपयोग करके भी सेट किया जा सकता है -e कमांड लाइन विकल्प
एन्क्रिप्शन (बूलियन)
सेटिंग कर रहा है $एन्क्रिप्शन सर्वर से कनेक्शन स्थापित करने से पहले वेरिएबल होगा
क्लाइंट-साइड पासवर्ड एन्क्रिप्शन का उपयोग करके लॉगिन कनेक्शन शुरू करने का कारण बनें। यह
वेरिएबल का उपयोग करके भी सेट किया जा सकता है -X कमांड लाइन विकल्प
निकास_असफलगणना (बूलियन)
इस मान को 1 कारण पर सेट करें एसक्यूएसएच की निकास स्थिति वापस करने के लिए $बैच_फेलकाउंट
गैर-त्रुटि समाप्ति पर 0 के बजाय। देखना बाहर निकलें स्थिति जानकारी के लिए। डिफ़ॉल्ट
मान 0 है।
निकास_मूल्य (int)
जब आप एक निकास कोड निर्दिष्ट करके sqsh से बाहर निकलते हैं, जैसे \बाहर निकलना 3 या इनमें से किसी एक का उपयोग करना
उपनाम निकास or छोड़ना आदेश देता है, तो यह मान निर्दिष्ट किया जाता है $exit_value
चर। आप इसका उपयोग करके एक मान भी निर्दिष्ट कर सकते हैं \सेट आज्ञा। जब sqsh निर्धारित करता है
समाप्ति के दौरान इस चर का एक गैर-शून्य मान होता है, इस मान का उपयोग निकास के रूप में किया जाएगा
कोड. देखना बाहर निकलें स्थिति ब्योरा हेतु।
विस्तार करें (बूलियन)
डिफ़ॉल्ट रूप से जब \जाना आदेश निष्पादित किया गया है, वर्तमान कार्य बफ़र की सामग्री
डेटाबेस में भेजे जाने से पहले सभी पर्यावरण चर का विस्तार किया जाता है
कार्यान्वयन। इस वेरिएबल को "0" पर सेट करने से, बफ़र का विस्तार नहीं किया जाएगा
डेटाबेस में भेजे जाने से पहले. यह तब उपयोगी होता है जब आपके पास (1) स्ट्रिंग्स हों
वह बफ़र जिसमें '$' है और आप नहीं चाहते कि उनका विस्तार किया जाए, या (2) के लिए
प्रदर्शन के कारण; इसे निष्पादित करने में समय (और बफ़र की एक अतिरिक्त प्रतिलिपि) लगता है
परिवर्तनशील विस्तार.
फ़िल्टर (बूलियन)
किसी बाहरी प्रोग्राम (द्वारा परिभाषित) के माध्यम से SQL बैच की फ़िल्टरिंग को टॉगल करता है
$फ़िल्टर_प्रोग वैरिएबल, नीचे) SQL सर्वर पर भेजे जाने से पहले। डिफ़ॉल्ट '0' है,
या 'बंद'.
फ़िल्टर_प्रोग (स्ट्रिंग)
उस बाहरी प्रोग्राम को परिभाषित करता है जिसके माध्यम से SQL बैच को पहले फ़िल्टर किया जाएगा
SQL सर्वर पर भेजा जा रहा है। यदि इस वेरिएबल को नजरअंदाज कर दिया जाता है $फ़िल्टर '0' या पर सेट है
'बंद'। डिफ़ॉल्ट 'm4 -' है.
फ़्लोट (फ़्लोट-प्रारूप)
सभी फ़्लोटिंग पॉइंट मानों के लिए प्रदर्शन प्रारूप (परिशुद्धता और पैमाने) को परिभाषित करता है
एसक्यूएसएच द्वारा प्रदर्शित। डिफ़ॉल्ट '18.6' है. ध्यान दें कि मान परिभाषित से अधिक हैं
परिशुद्धता को छोटा नहीं किया जाता है, इसलिए इस मान को बहुत कम सेट करने से कॉलम खराब हो सकते हैं
परिणाम ग़लत-संरेखित होना सेट है।
पादलेख (बूलियन)
परिणाम सेट के बाद "(%d पंक्तियाँ प्रभावित)" को टॉगल करता है। इस वेरिएबल के लिए डिफ़ॉल्ट
'1' है.
हेडर (बूलियन)
परिणाम सेट से पहले कॉलम हेडर को टॉगल करता है। इस वेरिएबल के लिए डिफ़ॉल्ट है
'1'।
help_dir (पथ)
यह द्वारा उपयोग की गई सहायता फ़ाइलों का स्थान है \मदद आदेश, आमतौर पर यह
/usr/local/lib/sqsh/help जैसी किसी चीज़ पर डिफ़ॉल्ट।
हिस्ट_ऑटो_सेव (इंट)
जब परिवर्तनशील हो $histave चालू है और $hist_auto_save वेरिएबल का मान अधिक होता है
0 से अधिक, तो इतिहास स्वचालित रूप से सहेजा जाएगा $इतिहास बाद $hist_auto_save
इतिहास बफ़र्स का संशोधन। जब मान 0 (डिफ़ॉल्ट) हो, तो कोई स्वचालित नहीं
इतिहास सहेजा जाएगा.
हिस्टनम (int)
इसमें इतिहास संख्या शामिल है जिसे जल्द ही वर्तमान कमांड बैच को सौंपा जाएगा
जैसा \जाना आदेश निष्पादित किया जाता है. इस वेरिएबल को केवल पढ़ने योग्य माना जाना चाहिए। यह सभी देखें
पर चर्चा $histunique चर।
इतिहास (पथ)
यह इतिहास फ़ाइल का स्थान है जिसका उपयोग उपयोगकर्ता के इतिहास को संग्रहीत और पुनर्प्राप्त करने के लिए किया जाता है
स्टार्ट-अप और शटडाउन के दौरान. यह डिफ़ॉल्ट है $HOME/.sqsh_history. यह वेरिएबल है
हर बार जब इसे एसक्यूएसएच द्वारा संदर्भित किया जाता है तो इसका विस्तार उसी तरह किया जाता है $शीघ्र is
हर बार संकेत प्रदर्शित होने पर संदर्भित किया जाता है।
इतिहास_आशुलिपि (बूलियन)
यह चर केवल एक इंटरैक्टिव सत्र के भीतर ही सार्थक है। यदि सेट किया जाता है, तो यह चालू हो जाता है
किसी भी नामित बफ़र या इतिहास बफ़र को वर्तमान कार्य बफ़र पर जोड़ने की क्षमता
'श' इतिहास शैली में, जैसे '!40'। इस सुविधा से सावधान रहें, एसक्यूएसएच नहीं है
इतिहास आशुलिपि की तलाश में बहुत बुद्धिमान, इसलिए यह संभव है कि ऐसा हो सकता है
भ्रमित हो जाएं (हालाँकि, उद्धृत स्ट्रिंग्स में ! को अनदेखा करना काफी स्मार्ट है)।
हिस्टसेव (बूलियन)
इस वेरिएबल का मान किसके द्वारा प्रयोग किया जाता है? एसक्यूएसएच यह इंगित करने के लिए कि क्या इतिहास होना चाहिए
में सहेजा गया $इतिहास Sqsh की समाप्ति से पहले.
हिस्टसाइज (int)
इस चर के मान का उपयोग इतिहास प्रविष्टियों की अधिकतम संख्या को बदलने के लिए किया जाता है
द्वारा अनुरक्षित एसक्यूएसएच (डिफ़ॉल्ट 10 है)। ध्यान दें कि इसका मूल्य घट रहा है
वैरिएबल के कारण कुछ इतिहास प्रविष्टियाँ नष्ट हो जाती हैं।
हिस्टुनिक (बूलियन)
अगर सेट हो, एसक्यूएसएच निष्पादित बफ़र्स का MRU-LRU ऑर्डर बनाए रखता है और संग्रहीत नहीं करता है
डुप्लिकेट कमांड बफ़र्स। उदाहरण के लिए, निम्नलिखित स्थिति का निरीक्षण करें:
LINUX1502.user1.master.1> \इतिहास
(1) sp_who
(2) sa_role को भूमिका mon_role प्रदान करें
(3) monProcessActivity से * चुनें
(4) @@authmech,show_sec_services() चुनें
(5) @@servername,@@authmech,show_sec_services() चुनें
LINUX1502.user1.master.1> sp_who
LINUX1502.user1.master.2>जाओ
... आउटपुट छोड़ा गया
LINUX1502.user1.master.1> \इतिहास
(1) sa_role को भूमिका mon_role प्रदान करें
(2) monProcessActivity से * चुनें
(3) @@authmech,show_sec_services() चुनें
(4) @@servername,@@authmech,show_sec_services() चुनें
(5) sp_who
sp_कौन अंतिम निष्पादित कमांड और बफ़र है - मूल रूप से सूची में अंतिम -
अब सूची में शीर्ष पर है. जब पहले से मौजूद बफ़र का पुन: उपयोग किया जाता है, तो का मान
$histnum वेरिएबल नहीं बदला गया है.
होस्टनाम (स्ट्रिंग)
कनेक्शन प्रक्रिया के दौरान SQL सर्वर को होस्ट का नाम इंगित करने के लिए उपयोग किया जाता है
कौन कौन से एसक्यूएसएच जुड़ रहा है. इस वेरिएबल को का उपयोग करके भी सेट किया जा सकता है -H झंडा।
यदि (स्ट्रिंग)
आंतरिक क्षेत्र विभाजकों की सूची.
इग्नोरइओफ़ (बूलियन)
डिफ़ॉल्ट रूप से, एसक्यूएसएच यदि उपयोगकर्ता खाली लाइन पर ^d (कंट्रोल-डी) दबाता है तो समाप्त हो जाता है
रीडलाइन समर्थन संकलित है। यदि $अनदेखा आपको मिलने वाली sqshrc फ़ाइल में सेट किया गया है
इसके बजाय चेतावनी संदेश:
CTRL-D: sqsh शेल को छोड़ने के लिए "बाहर निकलें" या "छोड़ें" का उपयोग करें।
यह बैश शेल में "set -oigneof" का उपयोग करने के बराबर है।
इंटरैक्टिव (बूलियन)
यह आंतरिक रूप से उपयोग किया जाने वाला एक वैरिएबल है और संभवतः उपयोगकर्ता द्वारा इसमें बदलाव नहीं किया जाना चाहिए। अगर
$इंटरैक्टिव '0' है, तो प्रॉम्प्ट प्रदर्शित नहीं होता है, इतिहास न तो पढ़ा जाता है और न ही
लिखा गया है और कुछ उपयोगकर्ता संदेश दबा दिए गए हैं।
इंटरफ़ेस (पथ)
यह इंटरफ़ेस फ़ाइल का पूर्ण पथ नाम है, यह डिफ़ॉल्ट है $SYBASE/इंटरफ़ेस.
keytab_file (स्ट्रिंग)
Kerberos और DCE उपयोगकर्ता प्रमाणीकरण सुरक्षा तंत्र में उपयोग किया जाता है। से मेल खाता है
-K स्टार्टअप विकल्प.
कर्बरोस सपोर्ट पर चर्चा भी देखें।
कीवर्ड_पूर्णता (int/स्ट्रिंग)
यह वेरिएबल केवल तभी लागू होता है जब GNU रीडलाइन समर्थन संकलित किया गया हो एसक्यूएसएच.
$keyword_completion में TSQL कीवर्ड पूर्णता सुविधा को नियंत्रित करने के लिए उपयोग किया जाता है
रीडलाइन, और इसे 0 और 4 के बीच पूर्णांक या इनमें से किसी एक का उपयोग करके सेट किया जा सकता है
तार कोई नहीं, कम, ऊपरी, स्मार्टया, सटीक. यदि इसे 0 या पर सेट किया गया है कोई नहीं, तो नहीं
कीवर्ड पूर्णता निष्पादित की जाती है (यह डिफ़ॉल्ट है)। कम या 1, कारण एसक्यूएसएच सेवा मेरे
कीवर्ड को लोअरकेस में पूरा करें, भले ही मामला आंशिक रूप से पूरा हुआ हो
कीवर्ड टाइप किया गया था. ऊपरी या 2 बल पूर्णता को अपर केस में निष्पादित किया जाना है, स्मार्ट,
या 3, मामले पर निर्णय आंशिक कीवर्ड के पहले अक्षर पर आधारित होता है, और
सटीक कीवर्ड को बिल्कुल उसी स्थिति में पूरा करता है जैसा कि इसमें परिभाषित किया गया है .sqsh_words
(अंतर्निहित टीएसक्यूएल कीवर्ड के लिए, यह लोअरकेस होगा)।
कीवर्ड_फ़ाइल (स्ट्रिंग)
यदि रीडलाइन समर्थन संकलित किया गया है एसक्यूएसएच, तथा एसक्यूएसएच इंटरैक्टिव में चलाया जा रहा है
मोड, इस फ़ाइल की सामग्री का उपयोग कीवर्ड टैब को रीडलाइन द्वारा पूरा करने के लिए किया जाता है
टीएसक्यूएल वाक्यात्मक कीवर्ड के डिफ़ॉल्ट सेट की तुलना में। डिफ़ॉल्ट है $HOME/.sqsh_words.
भाषा (स्ट्रिंग)
RSI $भाषा वेरिएबल का उपयोग सर्वर से कनेक्शन स्थापित करते समय किया जाता है
सिस्टम संकेतों और संदेशों को प्रदर्शित करने के लिए उपयोग की जाने वाली राष्ट्रीय भाषा निर्दिष्ट करें।
वेरिएबल स्वचालित रूप से सर्वर की वर्तमान भाषा सेटिंग को ट्रैक करेगा। शायद यह
के माध्यम से भी सेट किया जाएगा -z झंडा।
लिनेनो (int)
यह एक आंतरिक चर है और उपयोगकर्ता द्वारा इसमें बदलाव नहीं किया जाना चाहिए। इसका उपयोग किया जाता है
वर्तमान कार्य बफ़र के भीतर टाइप की जा रही पंक्ति संख्या को बनाए रखें।
लाइनसेप (स्ट्रिंग)
क्षैतिज प्रदर्शन शैली के लिए लाइन विभाजक को कॉन्फ़िगर करने के लिए उपयोग किया जाता है, यह डिफ़ॉल्ट है
से "\n\t"।
लॉक (स्ट्रिंग/केवल-लिखें)
द्वारा उपयोग किये जाने वाले पासवर्ड को परिभाषित करता है \ताला आज्ञा। यदि अनसेट किया गया है या स्ट्रिंग पर सेट किया गया है
"NULL", फिर चल रहे उपयोगकर्ता का UNIX पासवर्ड एसक्यूएसएच इसके बजाय (यदि संभव हो तो) प्रयोग किया जाता है।
ध्यान दें कि $ताला यदि संदर्भित किया गया है तो हमेशा स्ट्रिंग "*लॉक*" तक विस्तारित होगा।
लॉगिन_टाइमआउट (int)
किसी डेटा से नया कनेक्शन बनाने का प्रयास करते समय प्रतीक्षा करने वाले सेकंड की संख्या
सर्वर. डिफ़ॉल्ट 0 (अनंत प्रतीक्षा) है। यह भी देखें -T कमांड लाइन विकल्प
max_timeout (int)
यह नियंत्रित करता है कि किसी क्वेरी को उसके टाइम-आउट मान तक पहुंचने के लिए कितनी बार आवश्यकता होती है
सत्र निरस्त कर दिया गया है. देखना $query_timeout और -Q कमांड लाइन ध्वज. निम्नलिखित
संदेश प्रदर्शित होंगे और एसक्यूएसएच मान 255 के साथ बाहर निकल जाएगा जब $max_timeout सीमा
पहुंच गया।
क्वेरी या कमांड टाइमआउट का पता चला, सत्र निरस्त कर दिया गया
क्लाइंट कनेक्शन ने इस x समय का पता लगाया है
max_timeout सीमा पर निरस्त किया जा रहा है
मैक्सलेन (int)
प्रदर्शित होने वाले डेटा की अधिकतम मात्रा को नियंत्रित करता है (किसी भी डिस्प्ले मोड में)।
एक स्तंभ। यह सेटिंग स्वचालित रूप से विशेष रूप से आउटपुट को छोटा कर देगी
आपूर्ति किए गए मूल्य के लिए बड़े डेटा प्रकार (जैसे टेक्स्ट)। डिफ़ॉल्ट सेटिंग 8192 है
बाइट्स (8KB).
न्यूलाइन_गो (बूलियन)
इस ध्वज का उपयोग "खाली" उपनाम का समर्थन करने के लिए एक भयानक कीचड़ के रूप में किया जाता है \जाना
कमांड, यानी कमांड पर "-c ''" या सिर्फ "-c" सप्लाई करने के बराबर
रेखा। चालू होने पर, एक खाली लाइन को कॉल के रूप में समझा जाता है \जाना आज्ञा। यह सुविधा
अनुशंसित नहीं है लेकिन पूर्णता के लिए आपूर्ति की जाती है।
आउटपुट_पार्म्स (बूलियन)
संग्रहीत से आउटपुट पैरामीटर परिणाम सेट के प्रदर्शन को सक्षम या अक्षम करने के लिए ध्वज का उपयोग किया जाता है
प्रक्रियाएं. डिफॉल्ट डिस्प्ले को सक्षम करना है।
पैकेट आकार (पूर्णांक)
SQL के साथ संचार करने के लिए उपयोग किए जाने वाले TDS पैकेट के आकार को परिभाषित करता है। मान बदलना
वेरिएबल का वर्तमान कनेक्शन पर कोई प्रभाव नहीं पड़ेगा लेकिन उस पर प्रभाव पड़ेगा
अगला \पुनः कनेक्ट करें आज्ञा। NULL का मान निर्दिष्ट करना डिफ़ॉल्ट पैकेट को इंगित करता है
आकार वांछित है.
पासवर्ड (स्ट्रिंग/केवल-लिखें)
यह उपयोगकर्ता का वर्तमान पासवर्ड है. एक स्पष्ट पासवर्ड का उपयोग करके एक NULL पासवर्ड असाइन किया जा सकता है
"शून्य" स्ट्रिंग. सुरक्षा कारणों से, जब संदर्भित किया गया $ पासवर्ड परिवर्तनशील इच्छा
हमेशा स्ट्रिंग "*पासवर्ड*" तक विस्तृत करें।
पासवर्ड_पुनः प्रयास करें (बूलियन)
जब वेरिएबल चालू होता है और एसक्यूएसएच इंटरैक्टिव मोड में शुरू होता है, तो एसक्यूएसएच मांगेगा
लॉगिन विफल होने पर दोबारा पासवर्ड डालें। जब 'ऑफ' पर सेट किया जाता है, तो एसक्यूएसएच तुरंत समाप्त हो जाएगा।
डिफ़ॉल्ट चालू है.
प्रिंसिपल (स्ट्रिंग)
केर्बरोस उपयोगकर्ता प्रमाणीकरण में सर्वर प्रिंसिपल नाम के रूप में उपयोग किया जाता है जब यह भिन्न होता है
la $DSQUERY नाम। से मेल खाता है -R स्टार्टअप विकल्प.
कर्बरोस सपोर्ट पर चर्चा भी देखें।
शीघ्र (स्ट्रिंग)
इस वेरिएबल का उपयोग किया जाता है एसक्यूएसएच अपना वर्तमान प्रॉम्प्ट बनाने के लिए। कोई भी चर शामिल है
अंदर $शीघ्र हर बार प्रॉम्प्ट प्रदर्शित होने पर इसका विस्तार किया जाता है। के लिए डिफ़ॉल्ट मान
यह '${lineno}>' है। नीचे रंग समर्थन पर चर्चा भी देखें।
प्रॉम्प्ट2 (स्ट्रिंग)
इस प्रॉम्प्ट की सामग्री को इंटरैक्टिव उपयोग के दौरान विस्तारित और प्रदर्शित किया जाता है
एसक्यूएसएच अतिरिक्त इनपुट की आवश्यकता होती है, जैसे कि लाइन निरंतरता के दौरान। डिफ़ॉल्ट मान
'-->' है।
query_timeout (int)
किसी क्वेरी से डेटा लौटाने के लिए प्रतीक्षा करने वाले सेकंड की संख्या। यदि समय समाप्त हो गया है
क्वेरी निरस्त (रद्द) कर दी गई है। यह सभी देखें $max_timeout और -Q कमांड लाइन विकल्प
आरसीफ़ाइल (पथ)
इसमें sqsh संसाधन (sqshrc) फ़ाइलों की एक कोलन (:) सीमांकित सूची शामिल है। डिफ़ॉल्ट
सेटिंग के बाद /etc/sqshrc है $HOME/.sqshrc).
readline_history (स्ट्रिंग)
यदि रीडलाइन समर्थन संकलित किया गया है एसक्यूएसएच, रीडलाइन की सामग्री पंक्ति-दर-
लाइन इतिहास द्वारा निर्दिष्ट फ़ाइल में लिखा जाएगा $रीडलाइन_इतिहास चर।
डिफ़ॉल्ट है $HOME/.sqsh_readline.
readline_histsize (int)
यदि रीडलाइन समर्थन संकलित किया गया है एसक्यूएसएच, का मूल्य $readline_histsize
रीडलाइन लाइन-दर-लाइन इतिहास में सहेजी गई पंक्तियों की संख्या निर्दिष्ट करता है।
इसे 0 के मान पर सेट करने से प्रत्येक पंक्ति सहेजी जाती है। डिफ़ॉल्ट मान 100 है.
वास्तविक (फ्लोट-प्रारूप)
द्वारा प्रदर्शित सभी वास्तविक मूल्यों के लिए प्रदर्शन प्रारूप (परिशुद्धता और पैमाने) को परिभाषित करता है
एसक्यूएसएच. डिफ़ॉल्ट '18.6' है. ध्यान दें कि परिभाषित परिशुद्धता से अधिक मान नहीं हैं
छोटा कर दिया गया है, इसलिए इस मान को बहुत कम सेट करने से परिणाम सेट में कॉलम छूट सकते हैं-
संरेखित।
रिपीट_बैच (बूलियन)
कब सेट किया गया On or यह सच हैतक \जाना एक खाली के साथ निष्पादित एसक्यूएल बफर कारण होगा
पिछले बैच को फिर से निष्पादित किया जाना है।
सेकमेक (स्ट्रिंग)
उपयोगकर्ता प्रमाणीकरण के लिए प्रयुक्त सुरक्षा तंत्र का नाम. उदाहरण के लिए csfkrb5.
का उपयोग करते समय -Z विकल्प, सुरक्षा तंत्र का नाम निर्दिष्ट किया जा सकता है, या कब
कोई सेकमेच आपूर्ति नहीं की गई है, ओपनक्लाइंट डिफ़ॉल्ट का उपयोग करेगा, यानी पहली सुरक्षा
से प्रवेश $SYBASE/$SYBASE_OCS/config/libtcl.cfg फ़ाइल। ध्यान दें कि जो नाम इस्तेमाल किया गया है
में संबंधित सेकमेक प्रविष्टि के नाम से मेल खाना चाहिए objectid.dat फ़ाइल। कब
सर्वर से कनेक्शन सेटअप हो गया है, वास्तविक सेकंड नाम इसमें संग्रहीत किया जाएगा
$secmech चर।
सुरक्षित_विकल्प (स्ट्रिंग)
उपयोगकर्ता प्रमाणीकरण सुरक्षा तंत्र के लिए उपयोग किए जाने वाले सुरक्षा विकल्पों का वर्णन करें।
के अनुरूप है -V स्टार्टअप विकल्प.
कर्बरोस सपोर्ट पर पैराग्राफ भी देखें।
स्क्रिप्ट (स्ट्रिंग)
If एसक्यूएसएच का उपयोग करके चलाया जाता है -i ध्वज, तो इस चर में स्क्रिप्ट का नाम होता है
निष्पादित किया जा रहा है.
अर्धविराम_cmd (स्ट्रिंग)
. $अर्धविराम_हैक (नीचे देखें) सक्षम है, इस चर की सामग्री निष्पादित होती है
जब एक अर्धविराम का सामना करना पड़ता है एसक्यूएल बफर. यह वेरिएबल डिफ़ॉल्ट है
डोरी '\जाना'.
अर्धविराम_हैक (बूलियन)
';' का उपयोग करने की क्षमता पर टॉगल करता है इन-लाइन कमांड टर्मिनेटर के रूप में। यह सुविधा है
अनुशंसित नहीं है और यह केवल इसलिए यहां है क्योंकि पर्याप्त उपयोगकर्ताओं ने शिकायत की है। खंड देखें
आदेश, पंक्ति में Go.
सत्र (स्ट्रिंग)
सत्र फ़ाइल का स्थान जिसे किसी से कनेक्ट करने से ठीक पहले संसाधित किया जाएगा
सर्वर. वैरिएबल का विस्तार किया जाएगा ताकि इसमें पर्यावरण वैरिएबल शामिल हो सकें।
शैल (स्ट्रिंग)
पाइपों को निष्पादित करने और उनके द्वारा उपयोग किए जाने वाले शेल का नाम \शंख आदेश
(गलती करना '/ बिन / श').
सांख्यिकी (बूलियन)
की स्थापना $आँकड़े 1 के कारण सफल होने पर समय आँकड़े प्रदर्शित होते हैं
SQL के प्रत्येक बैच का निष्पादन। इस वेरिएबल को के माध्यम से भी सेट किया जा सकता है -t कमांड लाइन
झंडा, या आपूर्ति द्वारा -t को \जाना आदेश। $आँकड़े 0 के लिए डिफ़ॉल्ट।
शैली (स्ट्रिंग)
परिणाम सेट प्रदर्शन शैली का चयन करता है। वर्तमान में आठ शैलियाँ समर्थित हैं। क्षितिज
(जिसे इस प्रकार भी परिभाषित किया जा सकता है होर or क्षैतिज), के आउटपुट से काफी मिलता जुलता है
isql, पारंपरिक स्तंभ आउटपुट के साथ।
RSI हरा रंग (या ऊर्ध्वाधर) शैली आउटपुट को घुमाती है, ताकि प्रत्येक पंक्ति का प्रतिनिधित्व किया जा सके
एक कॉलम नाम के बाद एक कॉलम मान। यह विशेष रूप से देखने के लिए अच्छा है
विस्तृत आउटपुट.
RSI BCP शैली परिणाम सेट को वापस bcp' करने के लिए उत्तरदायी प्रारूप में परिणाम प्रदर्शित करती है
किसी अन्य तालिका में. अर्थात्, प्रत्येक कॉलम मान को अलग किया जाता है $bcp_colsep साथ
अंतिम कॉलम द्वारा अलग किया गया $bcp_rowsep इसके बाद एक नई पंक्ति (\n) आती है। अगर $bcp_colsep or
$bcp_rowsep परिभाषित नहीं हैं तो '|' डिफ़ॉल्ट विभाजक के रूप में उपयोग किया जाता है। ध्यान दें कि यह
आउटपुट COMPUTE कॉलम के साथ अच्छी तरह से काम नहीं करता है, और डिफ़ॉल्ट रूपांतरण का उपयोग करता है
सभी डेटा प्रकारों के लिए विधियाँ (अर्थात्, दिनांक और समय कॉलम मिलीसेकंड को छोटा कर सकते हैं)।
RSI csv प्रदर्शन शैली सभी परिणाम सेटों को अल्पविराम से अलग किए गए रूप में आउटपुट करती है
निर्माण. यह मोड स्प्रेडशीट प्रोग्राम में परिणाम सेट आयात करने के लिए आदर्श है
उदाहरण।
RSI HTML प्रदर्शन शैली सभी परिणाम सेटों को HTML के रूप में आउटपुट करती है
निर्माण. यह मोड सीजीआई एप्लिकेशन के रूप में एसक्यूएसएच के उपयोग के लिए आदर्श है।
RSI मेटा प्रदर्शन शैली केवल इससे जुड़ी मेटा-डेटा जानकारी को आउटपुट करती है
परिणाम और वास्तविक पंक्ति परिणामों को हटा देता है। यह मोड डिबगिंग के लिए उपयोगी है
पूर्ण पासथ्रू ओपन सर्वर गेटवे से उत्पन्न परिणाम सेट, या उनके लिए
वास्तव में सर्वर से क्या आ रहा है, इसमें रुचि है।
RSI सुंदर प्रदर्शन शैली नियमित ASCII का उपयोग करके एक शानदार तालिका जैसा आउटपुट उत्पन्न करती है
सीमाओं के लिए वर्ण. यह मोड कोई स्पष्ट कॉलम रैपिंग नहीं करता है, जैसे
la क्षितिज प्रदर्शन प्रणाली। हालांकि $colwidth वेरिएबल का उपयोग नियंत्रित करने के लिए किया जा सकता है
स्क्रीन पर दिए गए कॉलम की अधिकतम चौड़ाई। यदि कॉलम अधिक है $colwidth
पात्रों की व्यापकता के बावजूद, इसे अपेक्षाकृत रूप से आकर्षक तरीके से लपेटा गया है। ध्यान दें कि
$colwidth यदि कॉलम को बिना रखने के लिए पर्याप्त स्क्रीन चौड़ाई है तो इसे पार किया जा सकता है
रैपिंग।
RSI कोई नहीं प्रदर्शन शैली सभी परिणामों को प्रदर्शित होने से रोकती है (हालाँकि ऐसा होता है
वास्तव में SQL सर्वर से परिणाम जानकारी पुनर्प्राप्त करें)। यह विशेष रूप से उपयोगी है
जब के साथ प्रयोग किया जाता है -p झंडा (या $आँकड़े परिवर्तनीय) सटीक एकत्र करने के लिए
प्रदर्शन आँकड़े.
टर्म_शीर्षक (स्ट्रिंग)
जब यह वेरिएबल सेट हो जाता है, तो sqsh वर्तमान टर्मिनल का नाम रीसेट कर देगा (xterm)
वह विंडो जिसमें यह चल रहा है। xterm, rxvt, पुट्टी और MS-Windows CMD विंडोज़ के लिए काम करता है।
नाम में एसक्यूएसएच स्टार्टअप नाम शामिल है जो विस्तारित मूल्य के साथ जुड़ा हुआ है
$term_title चर।
थ्रेश_डिस्प्ले (int)
न्यूनतम SQL सर्वर त्रुटि गंभीरता सेट करता है जो उपयोगकर्ता को एक संदेश प्रदर्शित करेगा,
डिफ़ॉल्ट 0 है और मान्य श्रेणियाँ 0 और 22 के बीच हैं, सम्मिलित रूप से।
थ्रेश_एग्जिट (int)
गंभीरता स्तर की त्रुटियों की अधिकतम संख्या को परिभाषित करता है $thresh_fail ऐसा हो सकता है
एसक्यूएसएच निरस्त होने से पहले सामना करना पड़ा। यह मुख्य रूप से गैर-इंटरैक्टिव स्क्रिप्ट के लिए उपयोगी है,
लेकिन इंटरैक्टिव सत्र में इसकी अनुमति है। सेटिंग $thresh_exit 0 के मान पर
इस सुविधा को अक्षम कर देता है. खंड देखें बाहर निकलें स्थिति ब्योरा हेतु।
थ्रेश_फेल (int)
न्यूनतम SQL सर्वर गंभीरता स्तर सेट करता है जिसे विफल बैच माना जाएगा।
इस मान के लिए न्यूनतम 0 है (मतलब कोई भी त्रुटि जो जानकारी नहीं है
संदेश), और अधिकतम 22 है। जब भी $thresh_fail पार किया गया है, चर
$बैच_फेलकाउंट 1 से वृद्धि हुई है। अनुभाग देखें बाहर निकलें स्थिति ब्योरा हेतु।
समय (दिनांक-विशेष)
इस वेरिएबल को समय प्रारूप के साथ सेट किया जा सकता है (इसके लिए मैन पेज देखें)। डेटा(1)), और यह
वेरिएबल आपूर्ति किए गए प्रारूप में वर्तमान समय तक विस्तारित होता है। के लिए डिफ़ॉल्ट प्रारूप
यह चर %H:%M:%S है (जैसे 14:32:58)।
tmp_dir (पथ)
इसमें वह निर्देशिका शामिल है जिसमें अस्थायी फ़ाइलें आंतरिक रूप से उपयोग की जाती हैं एसक्यूएसएच हो रहे हैं
लिखा हुआ। ये फ़ाइलें या तो बफ़र संपादन के दौरान उत्पन्न होती हैं \buf-संपादित करें
कमांड), या पृष्ठभूमि नौकरियों के लिए आउटपुट डिफ़र फ़ाइलों को बनाए रखने के लिए। डिफ़ॉल्ट मान
इस चर के लिए /tmp है।
उपयोक्तानाम (स्ट्रिंग)
वर्तमान में डेटाबेस से जुड़े उपयोगकर्ता का नाम।
संस्करण (कोई नहीं)
इस रीड-ओनली वेरिएबल में वर्तमान संस्करण संख्या शामिल है। (वर्ग-2.1.7)
चौड़ाई (int)
SQL आउटपुट की वर्तमान चौड़ाई.
xgeom (स्ट्रिंग/int)
यदि X11 समर्थन संकलित है एसक्यूएसएच, इस मान का उपयोग डिफ़ॉल्ट को कॉन्फ़िगर करने के लिए किया जाता है
एक्स डिस्प्ले की विंडो का आकार (अक्षरों में)। यह वेरिएबल प्रारूप का होना चाहिए WxH
या केवल W, जहां W खिड़की की चौड़ाई है और H खिड़की की ऊंचाई है. अगर
खिड़की की ऊंचाई नहीं बताई गई है तो 25 लाइनें मानी गई हैं। अगर $xgeom नहीं है
तब सेट करें $चौड़ाई डिफ़ॉल्ट चौड़ाई के रूप में उपयोग किया जाता है और ऊंचाई 25 मानी जाती है। यदि
कोई भी सेट नहीं है, तो 80x25 मान लिया गया है।
xwin_title (स्ट्रिंग)
यदि X11 समर्थन संकलित है एसक्यूएसएच और X11 परिणाम विंडो का उपयोग करके अनुरोध किया जाता है
la -x का पैरामीटर \जाना or \आरपीसी कमांड, तो इस वेरिएबल का उपयोग सेट करने के लिए किया जाएगा
विंडो का शीर्षक नाम. के साथ अस्थायी रूप से ओवरराइड किया जा सकता है -T का विकल्प
\जाना और \आरपीसी आदेश देता है।
लिपि निष्पादन
अधिकांश सीपियों की तरह, एसक्यूएसएच SQL और स्क्रिप्ट कमांड वाली फ़ाइल को निष्पादित करने की अनुमति देता है
सीधे जादुई UNIX के माध्यम से #! सम्मेलन। अधिकांश UNIX प्लेटफ़ॉर्म पर, जब ऑपरेटिंग
सिस्टम बाइट्स का सामना करता है #! यह निष्पादन योग्य फ़ाइल के पहले दो बाइट्स के रूप में होगा
के तुरंत बाद निर्दिष्ट दुभाषिया के माध्यम से फ़ाइल को स्वचालित रूप से पाइप करें #!.
उदाहरण के लिए, एक निष्पादन योग्य बनाने के लिए एसक्यूएसएच चलाने के लिए स्क्रिप्ट sp_कौन, आपको बस बनाने की जरूरत है
इस प्रकार एक फ़ाइल:
#!/usr/bin/sqsh -i
sp_कौन
go
इस प्रकार, यदि आपका sp_कौन स्क्रिप्ट को सीधे निष्पादित किया जाता है, यह स्वचालित रूप से लॉन्च हो जाएगी
"/usr/bin/sqsh -i sp_कौन" आपके लिए।
और, चीज़ों को और अधिक लचीला बनाने के लिए, एसक्यूएसएच के समान स्थितीय मापदंडों का समर्थन करता है
अधिकांश गोले, रूप के ${n} जिसका विस्तार होगा nआपके लिए वां तर्क एसक्यूएसएच लिपियों.
उदाहरण के लिए:
#!/usr/bin/sqsh -i
sp_कौन ${1}
go
कारण होगा sp_कौन संग्रहीत प्रक्रिया को पहले के तर्क के साथ निष्पादित किया जाना है
कमांड लाइन पैरामीटर को आपूर्ति की गई sp_कौन खोल स्क्रिप्ट।
ध्यान दें कि स्थितीय पैरामीटर चाहिए टकराव से बचने के लिए ब्रेसिज़ के बीच समाहित रहें
टीएसक्यूएल धन डेटा प्रकार (ब्रेसिज़ के बिना, वेरिएबल का विस्तार नहीं किया जाएगा)।
बाहर निकलें स्थिति
की प्रमुख शिकायतों में से एक आईएसक्यूएल यह है कि यह पता लगाने की कोई सुविधा प्रदान नहीं करता है कि कब
प्रसंस्करण करते समय त्रुटि की स्थिति उत्पन्न हुई। एसक्यूएसएच बल्कि प्रदान करता है
इसके कारण से संबंधित सार्थक जानकारी लौटाने के लिए जटिल, लेकिन लचीला तंत्र
निकास स्थिति के रूप में बाहर निकलने के लिए (देखें निकास(3)).
. एसक्यूएसएच निष्पादन शुरू होता है दो हैंडलर वर्तमान कनेक्शन से जुड़े होते हैं
डेटाबेस, एक संदेश हैंडलर है जो किसी भी SQL के टेक्स्ट को प्रदर्शित करने के लिए जिम्मेदार है
सर्वर संदेश या त्रुटियाँ, और दूसरा एक त्रुटि हैंडलर है, जिसके लिए ज़िम्मेदार है
यह निर्धारित करना कि किसी त्रुटि स्थिति के साथ क्या करना है (मेरी बात पर ध्यान दें, ये केवल ढीली हैं
विवरण)। और, प्रत्येक संदेश और त्रुटि स्थिति के साथ एक गंभीरता स्तर जुड़ा होता है,
0 और 22 के बीच (घातक स्थिति के लिए सूचनात्मक संदेश)।
इन दोनों संदेश संचालकों के साथ कई चर जुड़े हुए हैं जिनका उपयोग इनमें से किसी एक के लिए किया जाता है
उनके व्यवहार को नियंत्रित करें, या संदेश हैंडलर द्वारा संकेतक के रूप में उपयोग किया जाता है:
$thresh_display
इस वेरिएबल का उपयोग संदेश हैंडलर द्वारा न्यूनतम त्रुटि गंभीरता निर्धारित करने के लिए किया जाता है
जिससे एक संदेश प्रदर्शित होगा। डिफ़ॉल्ट रूप से यह 0 है, जो प्रदर्शित होगा
सभी संदेश (कुछ अपवादों को छोड़कर)। उदाहरण के लिए, इसे 1 पर सेट करने से ऐसा होगा
के आउटपुट जैसे सूचनात्मक संदेशों को दबाएँ सेट शोप्लान on.
$thresh_fail
इस वेरिएबल का उपयोग त्रुटि हैंडलर द्वारा यह निर्धारित करने के लिए किया जाता है कि त्रुटि की गंभीरता क्या है
द्वारा माना जाता है एसक्यूएसएच असफल होना. आम तौर पर, यह डिफॉल्ट 11 पर होता है जो कि इंगित करता है
सूचनात्मक संदेशों के अलावा कोई भी त्रुटि विफलता है। अगला वेरिएबल होगा
इस मूल्य का महत्व समझाइये।
$बैच_फेलकाउंट
इस वेरिएबल को केवल-पढ़ने के लिए माना जाना चाहिए, और इसमें कुल समय की संख्या शामिल है
उस बैच के कारण गंभीर त्रुटि हुई है $thresh_fail या अधिक। एकमात्र मूल्य
यह इस मान को स्पष्ट रूप से सेट करने के लिए मान्य है, "" (खाली स्ट्रिंग) है, जो होगा
इस मान को 0 पर रीसेट करें, किसी अन्य मान के अप्रत्याशित परिणाम हो सकते हैं।
$thresh_exit
इस वेरिएबल का उपयोग उस सीमा को निर्धारित करने के लिए किया जाता है जिस पर $बैच_फेलकाउंट आ कारण होगा एसक्यूएसएच
गमन करना। अगर $thresh_exit 0 है, तो यह सुविधा अक्षम है. दूसरे शब्दों में, यदि
$बैच_फेलकाउंट = $thresh_exit और $thresh_exit तो, 0 से बड़ा है एसक्यूएसएच मर्जी
बाहर निकलना, लौटना $बैच_फेलकाउंट निकास स्थिति के रूप में.
ध्यान दें, जब तक $exit_failcount 1 पर सेट है, एसक्यूएसएच कुल होने पर 0 के साथ बाहर निकल जाएगा
असफलताओं की संख्या नहीं पहुंचती $thresh_exit.
$exit_failcount
इस वेरिएबल का उपयोग केवल तभी किया जाता है जब एसक्यूएसएच सामान्यतः सफलता की स्थिति (0) के साथ बाहर निकलेंगे,
इसके कारण यह इसके मान के साथ बाहर निकल जाता है $बैच_फेलकाउंट (जो, स्वयं, हो सकता है
0)।
$exit_value
जब यह वेरिएबल गैर-शून्य होता है, तो यह ओवरराइड हो जाएगा $exit_failcount और
$बैच_फेलकाउंट मान और बस मान से बाहर निकलें $exit_value. यह वैरिएबल हो सकता है
का उपयोग करके स्पष्ट रूप से सेट करें \सेट आदेश, या परोक्ष रूप से उपयोग करना \बाहर निकलना x और इसका उपनाम
समकक्षों।
संक्षेप में, यहां त्रुटि कोड की एक सूची दी गई है जिसे वापस किया जा सकता है एसक्यूएसएच बाहर निकलने पर, और
कारण कि उन्हें वापस किया जा सकता है:
- 0 -
कोई त्रुटि सामने नहीं आई है.
- 1...253 -
1 से 253 बैच के बीच विफल हो गए हैं (यदि आप 253 से अधिक बैच चलाते हैं, तो बाहर निकलें
एसक्यूएसएच की स्थिति अनिश्चित है...मैं भविष्य में इसे ठीक कर सकता हूं)।
- 254 -
एक स्पष्ट \गर्भपात कॉल किया गया था, या एक गैर-इंटरैक्टिव के दौरान एक SIGINT (^C) जारी किया गया था
सत्र।
- 255 -
एक सामान्य त्रुटि स्थिति उत्पन्न हो गई है, जैसे कि एसक्यूएसएच के लिए एक खराब कमांड लाइन तर्क,
मेमोरी आवंटन विफलता, फ़ाइल एक्सेस त्रुटि, आदि।
निम्नलिखित अनुभाग परिवर्तनीय सेटिंग्स के संयोजन के विस्तृत उदाहरण प्रदान करते हैं
कुछ विफलता स्थितियों के साथ बाहर निकलने पर परिणाम उत्पन्न होते हैं। ऐसा माना जाता है
$exit_value अगले उदाहरणों में वेरिएबल में 0 है।
थ्रेश_डिस्प्ले=0, थ्रेश_फेल=0, थ्रेश_एग्जिट=1
इस संयोजन के साथ, सभी त्रुटि संदेश वैसे ही प्रदर्शित होंगे जैसे वे होते हैं, और प्रत्येक
त्रुटि को विफलता की स्थिति माना जाएगा. पहली त्रुटि पर पहुँचने पर, एसक्यूएसएच
1 की निकास स्थिति, या विफलताओं की कुल संख्या (द) के साथ निरस्त हो जाएगा
$बैच_फेलकाउंट चर)। हालाँकि, अगर पूरी प्रक्रिया के दौरान कुछ भी गलत नहीं होता है, तो a
शून्य वापस आ गया है.
थ्रेश_डिस्प्ले=0, थ्रेश_फेल=0, थ्रेश_एग्जिट=3
इस संयोजन के कारण सभी त्रुटि स्थितियाँ प्रदर्शित होंगी और वे सभी प्रदर्शित होंगी
विफलता की स्थिति मानी जाती है। कुल तीन असफल बैचों तक पहुँचने पर, एसक्यूएसएच मर्जी
3 की स्थिति के साथ बाहर निकलें। हालाँकि यदि 0, 1, या 2 बैच विफल हो जाते हैं, तो 0 वापस आ जाता है।
थ्रेश_डिस्प्ले=22, थ्रेश_फेल=0, थ्रेश_एग्जिट=3
यह पिछले उदाहरण के समान ही व्यवहार करता है, सिवाय इसके कि सभी त्रुटियाँ हैं
संदेशों को प्रदर्शित होने से रोक दिया जाएगा. यह विशेष रूप से उपयोगी है यदि आप
वास्तविक त्रुटि से अधिक केवल निकास मान की परवाह करें।
थ्रेश_डिस्प्ले=0, थ्रेश_फेल=2, थ्रेश_एग्जिट=1
इससे गंभीरता 2 या उससे अधिक की पहली त्रुटि प्रदर्शित होगी और उत्पन्न होगी एसक्यूएसएच
1 की विफलता की स्थिति के साथ बाहर निकलना।
थ्रेश_डिस्प्ले=0, थ्रेश_फेल=0, थ्रेश_एक्सिट=3, एग्जिट_फेलकाउंट=1
हालाँकि, यह ऊपर दिए गए दूसरे उदाहरण के समान है एसक्यूएसएच कुल लौटा देगा
असफल होने पर भी बैचों की संख्या $बैच_फेलकाउंट 3 तक नहीं पहुंचता.
निकास_मूल्य=शून्य नहीं
यह ऊपर बताई गई सभी शर्तों को ओवरराइड कर देगा और विशिष्ट मान से बाहर निकल जाएगा।
कई तरह का
रंग भरनेवाला एसक्यूएसएच संकेत, इत्यादि
रंग कोड {1;2;3} जैसी एक स्ट्रिंग के रूप में प्रस्तुत किए जाते हैं। यदि sqsh का सामना { (घुंघराले ब्रेस) से होता है
प्रॉम्प्ट स्ट्रिंग में यह मान लिया जाएगा कि एक रंग-कोड प्रदान किया गया है और वह उसी प्रकार कार्य करेगा। नहीं
जाँच रंग-कोड परिभाषा की वैधता पर ही की जाएगी। वो रंग
परिभाषा में अर्धविराम द्वारा अलग किए गए तीन मान शामिल हैं।
पहला कोड संभावित मानों के साथ रंग विशेषता कोड को परिभाषित करता है: 0=कोई नहीं 1=बोल्ड
दूसरा मान टेक्स्ट रंग कोड को परिभाषित करता है: 30=काला 31=लाल 32=हरा 33=पीला 34=नीला
35=मैजेंटा 36=सियान 37=सफेद
तीसरा मान पृष्ठभूमि रंग कोड को परिभाषित करता है: 40=काला 41=लाल 42=हरा 43=पीला
44=नीला 45=मैजेंटा 46=सियान 47=सफेद पृष्ठभूमि के लिए अंतिम रंग-कोड छोड़ा जा सकता है।
आपके आधार पर, सभी रंग और विशेषता संयोजन अच्छे परिणाम प्रस्तुत नहीं करेंगे
टर्मिनल प्रकार और रंग योजना। लेकिन निम्नलिखित मान एक क्रीमी के साथ xterm पर ठीक काम करते हैं
लिनक्स में सफ़ेद पृष्ठभूमि रंग और सिगविन में काली पृष्ठभूमि विंडो के साथ rxvt:
संकेत: सफ़ेद पृष्ठभूमि में नीला पाठ "{0;34;47}"
कमांड टेक्स्ट: पीला टेक्स्ट "{0;33}"
sqsh रंग-कोड को प्रस्तुत वास्तविक रंग-कोड स्ट्रिंग में अनुवादित करेगा
रीडलाइन: उदाहरण के लिए "\001\033[0;36;47m\002"। ध्यान दें कि यदि आप घुंघराले ब्रैकेट का उपयोग करना चाहते हैं
अपने प्रॉम्प्ट में, आपको डबल ब्रेस निर्दिष्ट करके रंगीकरण से बचना होगा, जैसे
{{...}}. उदाहरण के लिए:
\सेट प्रॉम्प्ट_रंग='{0;34;47}'
\set text_color='{0;33}'
\सेट प्रॉम्प्ट='$प्रॉम्प्ट_रंग{{$DSQUERY.$username.$database.$lineno}}>$text_color '
यदि एसक्यूएसएच संकलित और रीडलाइन से जुड़ा हुआ है तो रंग समर्थन स्वचालित रूप से उपलब्ध है
समर्थन सक्षम.
onworks.net सेवाओं का उपयोग करके ऑनलाइन sqsh का उपयोग करें