मैक ओएस एक्स पर टर्मिनल पर कमांड का संयोजन


18

मैं टर्मिनल पर एक पंक्ति में निम्नलिखित लिखना चाहूंगा या यदि कोई फ़ाइल बनाने और अनुमतियाँ सेट करने का कोई छोटा तरीका है तो कृपया टिप्पणी करें।

sudo touch .htaccess
sudo chmod 766 .htaccess

बहुत सराहना की

जवाबों:


31

सशर्त रूप से दूसरा कमांड चलाने के लिए '&&' का प्रयोग करें यदि पहला सफल है।

sudo touch .htaccess && sudo chmod 766 .htaccess


2
मैं दो कारणों से इस समाधान को पसंद करता हूं: 1. &&आम तौर पर इससे बेहतर है ;कि यह बंद हो जाता है अगर पहला आदेश विफल हो जाता है, 2. यह आम तौर पर केवल sudoएक ही sudoमंगलाचरण में संयोजन करने की कोशिश करने और चलाने के बजाय इसके साथ आवश्यक विशिष्ट कार्यक्रम को चलाने के लिए बेहतर है। आवश्यकता से अधिक विशेषाधिकारों के साथ अधिक कोड।
क्रिस पेज

क्या होगा यदि मैं करना चाहता हूं scp admin@host.com:file1 && scp admin@host.com:file2 && scp admin@host.com:file3और मैंने अपने SSH कुंजी पर पासवर्ड सेट किया है, यह मुझसे हर समय पासवर्ड के लिए पूछ रहा है, क्या इसे संयोजित करने का कोई तरीका है ???
अक्षय खले

2

नहीं ऐसा नहीं है।

केवल एक चीज जो आप कर सकते हैं, आप इन दोनों आदेशों को एक में जोड़ सकते हैं sudo:

sudo sh -c 'touch .htaccess && chmod 766 .htaccess'

एक अन्य समाधान (एक बाहरी कॉल के साथ, लेकिन दो कमांड के साथ भी):

sudo sh -c 'umask 011 && touch .htaccess'

1
अच्छा सुझाव है, लेकिन मैं इन का उपयोग &&करने के बजाय ;, हालांकि संशोधित करेगा । इसके अलावा, सामान्य तौर पर मैं सिर्फ दो sudoआदेशों का उपयोग करूंगा , क्योंकि ऊंचे विशेषाधिकारों के साथ पूरे शेल को चलाने के लिए यह ओवरकिल और जोखिम भरा है, बजाय इसके कि उन्हें (इस मामले में, स्पर्श और चामोद) उनके साथ चलने की जरूरत है, केवल सटीक कार्यक्रमों के बजाय।
क्रिस पेज

हां, आप सही हैं, यह बेहतर होगा
इगोर चुबिन

1

अर्धविराम आपको इस तरह एक पंक्ति में कई आदेशों को फिट करने देगा:

sudo touch .htaccess; sudo chmod 766 .htaccess


1
यह एक अच्छा सुझाव है, हालांकि यह एक अच्छा विचार है कि अन्योन्याश्रित आदेशों को चलाने के &&बजाय उपयोग करने की आदत ;डालें ताकि एक कमांड विफल होने पर बंद हो जाए।
क्रिस पेज

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.