मैं एक ग्राहक $bash -x
आदेश कर खोल स्क्रिप्ट में if
बयान में -x
की तरह अगर फाइल निष्पादन योग्य है देखने के लिए (या ksh -x
आदेश, आदि) को देखा।बैश -x कमान
मेरा प्रश्न है: $bash -x
कमांड क्या करता है?
मेरी व्याख्या मौजूदा खोल के भीतर एक नए बैश खोल में एक कमांड शुरू करना था, उसी वातावरण चर को विरासत में मिलाकर उसी उपयोगकर्ता द्वारा निष्पादित किया गया था।
अजीब बात मैं $ls
नहीं बल्कि $bash -x ls
, जो देने के कर सकते हैं:
(AIX 6 के तहत) /usr/bin/ls: /usr/bin/ls: cannot execute binary file
यह मेरे लिए एक रहस्य है क्यों त्रुटि है - अनुमान लगा यह की वजह से है एक विशेषाधिकार जिसका अर्थ है कि ऊपर मेरी धारणा सही नहीं है।
इसके अलावा, मुझे विश्वास है कि $bash ls
और $bash -x ls
एक ही चीज़ है (-x
"execute" के लिए)?
किसी भी टिप्पणी की बहुत सराहना की जाती है।
चीयर्स!
डीबग मोड (-x) सक्षम के साथ एक बैश कमांड निष्पादित करने के लिए, 'bash -x -c your_command' – Alex
RTFM का उपयोग करें! जे/के/10char – KurzedMetal
संक्षिप्त उत्तर के लिए धन्यवाद एलेक्स, bash -x -c ls जो आपने वर्णित किया है। तो, "$ bash -x कमांड देखने के लिए कि फ़ाइल निष्पादन योग्य है या नहीं" तो WRONG है :) बहुत बहुत धन्यवाद! – Khiet