कई टर्मिनल कमांड के आधार पर मैक के लिए एक सार्वभौमिक (स्क्रिप्ट) फ़ाइल कैसे बनाएं


21

मेरे पास कई टर्मिनल कमांड हैं जिनका मैं समस्या निवारण उद्देश्यों के लिए उपयोग करता हूं, उन्हें एक-एक करके टर्मिनल विंडो में टाइप करके।

इन आदेशों के लिए उपयोगकर्ता का पासवर्ड दर्ज करना आवश्यक है।

मैं इन कमांड्स के साथ एक सार्वभौमिक (स्क्रिप्ट) फ़ाइल बनाने का तरीका ढूंढ रहा हूं। मैं मैक पर फ़ाइल को केवल डबल क्लिक करके या टर्मिनल आइकन पर फ़ाइल खींचकर चलाने में सक्षम होना चाहता हूं।

मैंने पहले कभी ऐसा कुछ नहीं किया। क्या इस तरह की स्क्रिप्ट बनाने का कोई तरीका है? कृपया सलाह दें।


क्या आपके कहने का मतलब है कि आप उपयोगकर्ता को अपना पासवर्ड दर्ज किए बिना एक स्क्रिप्ट चलाना चाहते हैं?
एलन

@ मैं कई कमांड के बजाय एक फाइल चलाना चाहता हूं । उपयोगकर्ता द्वारा अपना पासवर्ड दर्ज किए बिना इसे चलाना कम से कम एक बार अच्छा होगा, लेकिन अगर मैं गलत नहीं हूं तो सबसे अधिक संभावना असंभव है।
१०:११

यह निश्चित रूप से संभव है जब तक आपको कुछ ऐसा करने की आवश्यकता न हो, जिसके लिए व्यवस्थापक की आवश्यकता हो - नीचे मेरा उत्तर देखें
कलुब

जवाबों:


32

संक्षिप्त जवाब

एक .commandस्क्रिप्ट को चाल चलनी चाहिए


क्रमशः

  1. TextEdit खोलें और एक नई फ़ाइल बनाएँ
  2. प्रारूप> सादा पाठ करें पर क्लिक करके इसे सादे पाठ में बदलें
  3. अपने आदेश जोड़ें, प्रति पंक्ति एक। उदाहरण के लिए, आप कर सकते हैं:
    #! /bin/bash cd ~/Desktop mkdir myCoolFolder cd myCoolFolder

  4. chmod u+x ~/Desktop/myCommandScript.commandअपने टर्मिनल में चलाएं , जहां ~/Desktop/myCommandScript.commandआपकी स्क्रिप्ट का मार्ग है। यह फ़ाइल चलाने के लिए टर्मिनल की अनुमति देगा।

  5. हो गया! चलाने के लिए फ़ाइल पर डबल-क्लिक करें। टर्मिनल आइकन पर खींचना भी काम करेगा।

टिप्पणियाँ:

  • यदि आपको कुछ ऐसा करने की आवश्यकता है जिसके लिए रूट (एडमिन) की आवश्यकता है, तो आप अपनी कमांड के साथ उपसर्ग कर सकते हैं sudo। जब स्क्रिप्ट चलती है, तो आपको अपना पासवर्ड दर्ज करना होगा (और एक व्यवस्थापक होना चाहिए)
  • यदि अंतिम उपयोगकर्ता कोई व्यवस्थापक नहीं है, लेकिन आपको कुछ ऐसा करने की आवश्यकता है जो रूट एक्सेस की आवश्यकता है, तो आप उपयोग कर सकते हैं su someAdminName, जो कमांड को निष्पादित करेगा someAdminName(आपको उसके पासवर्ड की आवश्यकता होगी)।

थोड़ी अधिक जानकारी के लिए आप यहां स्टैक ओवरफ्लो पर भी देख सकते हैं ।


क्या कोई तरीका है कि कमांड फाइल को लॉग आउट न करें? मैं एक कमांड फाइल रखना चाहता हूं जो टर्मिनल को पूर्वनिर्धारित पथ चर के साथ खोलता है।
रॉय

8

एक स्क्रिप्ट सिर्फ कमांड की एक श्रृंखला है, इसलिए आप इसे बैश स्क्रिप्ट में डाल सकते हैं।

#!/bin/bash

command 1
command 2
command 3

अब, यह सब उन प्रकार के कमांड पर निर्भर करता है और उन्हें उपयोगकर्ता के हस्तक्षेप की आवश्यकता है या नहीं।

हालाँकि, यदि आपको नैदानिक ​​जानकारी मिल रही है, उदाहरण के लिए, आपके पास एक स्क्रिप्ट हो सकती है

#!/bin/bash

# Get SMART status of main drive
diskutil info disk0 | grep -i smart

# Get the model of the machine in question
system_profiler SPHardwareDataType | grep -i Identifier

वे सिर्फ उदाहरण के लिए हैं। ध्यान रखें कि कोई भी आउटपुट जेनरेट होगा, कंसोल (स्क्रीन) पर भेजा जाएगा। हालाँकि, आप >> /path/to/outputfile.txtप्रत्येक कमांड के अंत में एक फ़ाइल में आउटपुट को रीडायरेक्ट कर सकते हैं, इसलिए आपके पास एक फाइल है जिसे आप फाइल के चलने के बाद पार्स कर सकते हैं।

आप फ़ाइल को नाम दे सकते हैं diagnostics.shऔर इसे अपनी पसंद के अनुसार कहीं भी रख सकते हैं। बस यह सुनिश्चित करें कि आप इसे कमांड जारी करके निष्पादन योग्य बनाते हैं और इसे निष्पादित करने के लिए chmod +x diagnostics.shउपयोग ./diagnostics.shकरते हैं या इसे अपने डेस्कटॉप पर सहेजे जाने पर इसे चलाने के लिए डबल क्लिक करते हैं

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