एक बैश कमांड लाइन के लिए एक स्ट्रिंग कैसे संलग्न करें?


2

मुझे यकीन है कि यह एक आवर्तक प्रश्न है, लेकिन मैं एक ऐसा उत्तर पाने में विफल रहा जिसका जवाब था जो मेरी समस्या को ठीक करेगा।

मैं कुछ ऐसा करना चाहता हूं:

alias disexit = " & disown & exit"
gnome-calculator disexit

तो यह कमांड लाइन चलाएगा

gnome-calculator & disown & exit

इसलिए इसके परिणामस्वरूप कैलकुलेटर के चलने का एक उदाहरण होगा और इसके पीछे कोई भी टर्मिनल नहीं होगा, बिना पूरी बात लिखे।

यदि संभव हो तो, मैं चाहूंगा कि उर्फ ​​स्थायी हो।


भविष्य के संदर्भ, नौसिखिए उपयोगकर्ताओं आदि के लिए यह बताना अच्छा है कि आपका उपनाम क्यों काम नहीं करता है। ऐसा इसलिए है क्योंकि उपनाम नाम को एक साधारण कमांड का पहला शब्द होना चाहिए।
कामिल मैकियोरोस्की

जवाबों:


3

यह नहीं है कि कैसे aliasकाम करता है (और AFAIK जो आप चाहते हैं वह bashखुद को संशोधित किए बिना नहीं किया जा सकता है ), लेकिन अगर आपको थोड़ा अलग वाक्यविन्यास में कोई आपत्ति नहीं है, तो आप कुछ ऐसा जोड़ सकते हैं

disexit(){
    "$@" & disown & exit
}

आपके .bashrc(इस फ़ंक्शन को स्थायी बनाने के लिए), और इसे कॉल करें

disexit gnome-calculator

क्षमा करें, जब मैं अपना टाइप कर रहा था, तब मुझे आपका जवाब दिखाई नहीं दिया।
AFH

0

आप एक उपनाम के साथ ऐसा नहीं कर सकते। हालाँकि, आप किसी फ़ंक्शन को कोड करने के लिए क्या कर सकते हैं:

disexit() { "$1" & disown & exit; }

लेकिन आपको इसे दूसरे तरीके से कॉल करने की आवश्यकता होगी:

disexit gnome-calculator

यह bashसिंटैक्स के साथ आपकी आवश्यकताओं के निकटतम है ।

इसे स्थायी रूप से उपलब्ध कराने के लिए, बस फ़ंक्शन की परिभाषा को इसमें जोड़ें ~/.bashrc


0

क्या आप अभी nohupवांछित कमांड से पहले नहीं चल सकते हैं ? जैसे की

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