मैं कमांड को अलियास करने की कोशिश कर रहा हूं, sudo shutdownलेकिन मेरे अंदर .profileमैं बस नहीं कर सकता alias "sudo shutdown"="my command"। क्या यूनिक्स में बहु-शब्दीय उपनामों का एक और तरीका है?
मैं कमांड को अलियास करने की कोशिश कर रहा हूं, sudo shutdownलेकिन मेरे अंदर .profileमैं बस नहीं कर सकता alias "sudo shutdown"="my command"। क्या यूनिक्स में बहु-शब्दीय उपनामों का एक और तरीका है?
जवाबों:
उपनाम नाम बाईं ओर है, इसलिए आपके पास दाईं ओर कोई भी बहुस्तरीय कमांड हो सकती है:
alias my_alias="multi worded command"
EDIT: हालाँकि, यदि आप वास्तव में कई शब्दों के उपनामों को रखना चाहते हैं - आपके उदाहरण में, यदि आप वास्तव में "सूडो शटडाउन" चाहते हैं, तो आप उपनाम के रूप में काम कर सकते हैं, आप निम्नलिखित उपनाम सुविधा का उपयोग करके (bash मैन्युअल में) कर सकते हैं ):
A trailing space in value causes the next word to be checked for
alias substitution when the alias is expanded.
इसलिए, यदि आप अभी भी sudoअन्य आदेशों के साथ उपयोग करना चाहते हैं, लेकिन नहीं shutdownऔर यदि आप किसी अन्य shutdownचीज के लिए अन्य चीजों का उपयोग कर सकते हैं , तो आप कर सकते हैं:
alias sudo='sudo '
alias shutdown="echo nope"
अब, sudo anything_elseउम्मीद के anything_elseमुताबिक काम करेंगे (यह मानते हुए कि आपके पास इसके लिए कोई उपनाम नहीं है , लेकिन अगर आपके पास यह काम नहीं होता तो या तो इससे पहले); लेकिन sudo shutdownइसके बराबर होगा sudo echo nopeऔर यह उस स्ट्रिंग को प्रिंट करेगा।
alias cd="cd "एकल-पत्र उपनामों के साथ alias X="<directory-with-long-name>"जगह से अधिक आसानी से कूदने के लिए उपयोग कर रहा हूं ।
alias gti="git "alias lgo="log"
से उद्धृत करने के लिए: बैश: उपनाम में नाम
बैश प्रलेखन राज्यों "लगभग हर प्रयोजन के लिए, खोल कार्यों उपनाम से अधिक पसंद कर रहे हैं।" यहां एक शेल फ़ंक्शन है जो तर्क (यदि केवल) से युक्त है, तो lsआउटपुट को प्रतिस्थापित करता है और पाइप करने का कारण बनता है ।more-la
ls() {
if [[ $@ == "-la" ]]; then
command ls -la | more
else
command ls "$@"
fi
}
एक-लाइनर के रूप में:
ls() { if [[ $@ == "-la" ]]; then command ls -la | more; else command ls "$@"; fi; }
स्वचालित रूप से पाइप उत्पादन:
ls -la
मैं सिर्फ एक निष्पादन योग्य फ़ाइल / usr / लोकल / बिन में रखना सुनिश्चित करता हूं (सुनिश्चित करें कि यह आपके रास्ते में है) जिसमें तब वह कमांड शामिल हैं जिन्हें मैं चलाना चाहता हूं। स्क्रिप्ट का नाम कमांड होगा जो आता है। chmod + x / usr / स्थानीय / बिन / your_script सुनिश्चित करें।
इसलिए स्क्रिप्ट को 'शटडाउन' कहा जा सकता है
फ़ाइल शटडाउन की सामग्री होगी:
#!/bin/sh
sudo shutdown
यह एक पूरी नई दुनिया को खोलता है। फिर आपके पास कुछ कमांड या स्क्रिप्ट भी हो सकती है:
#!/usr/bin/env python
print "hi"
# more stuff. ....