अपने काम के दौरान मुझे लगातार bashrc में अन्य उपनाम जोड़ने की आवश्यकता है, उन आदेशों में से अधिकांश को अन्य उपयोगकर्ताओं द्वारा चलाया जाना चाहिए। वहाँ किसी भी तरह से मैं बाहरी स्रोत से एक bashrc करने के लिए उपनाम आदेश जोड़ सकता है?
अपने काम के दौरान मुझे लगातार bashrc में अन्य उपनाम जोड़ने की आवश्यकता है, उन आदेशों में से अधिकांश को अन्य उपयोगकर्ताओं द्वारा चलाया जाना चाहिए। वहाँ किसी भी तरह से मैं बाहरी स्रोत से एक bashrc करने के लिए उपनाम आदेश जोड़ सकता है?
जवाबों:
उपयोगकर्ताओं के होम डायरेक्टरी में कई कॉन्फिग फाइल्स सिर्फ ओवरराइड करती हैं / उनमें लोगों को जोड़ती हैं /etc
- उदाहरण के लिए यूजर्स होम में GIMP के लिए सेटिंग्स हैं ~/.gimp-2.*
, जो सिस्टम-वाइड कॉन्फिगर में जोड़ता है /etc/gimp/2.0
।
तो ~/.bashrc
, आप सिस्टम वाइड /etc/bash.bashrc
फंक्शन्स फाइल्स (फंक्शन्स / एलियासेस के लिए ) या /etc/profile
(एन्वायरमेंट स्टफ के लिए) एडिट कर सकते हैं - आप इसके लिए पूरी लिस्ट ले सकते हैं man bash
:
FILES
/bin/bash
The bash executable
/etc/profile
The systemwide initialization file, executed for login shells
/etc/bash.bash_logout
The systemwide login shell cleanup file, executed when a login shell exits
~/.bash_profile
The personal initialization file, executed for login shells
~/.bashrc
The individual per-interactive-shell startup file
~/.bash_logout
The individual login shell cleanup file, executed when a login shell exits
~/.inputrc
Individual readline initialization file
यह चेतावनी फाइलों में कुछ लिनक्स सिस्टम के लिए दी गई है:
# It's NOT a good idea to change this file unless you know what you
# are doing. It's much better to create a custom.sh shell script in
# /etc/profile.d/ to make custom changes to your environment, as this
# will prevent the need for merging in future updates.
इसलिए आप उन फ़ाइलों को संपादित कर सकते हैं, आप उन्हें पहले ( cp /etc/bash.bashrc /etc/bash.bashrc-backup
उदाहरण के लिए) वापस करना चाहते हैं , या एक शेल स्क्रिप्ट /etc/profile.d
बना सकते हैं - उदाहरण के लिए आप इन कमांड के साथ एक बना सकते हैं (sudo / as रूट के साथ):
touch /etc/profile.d/custom.sh
chmod +x /etc/profile.d/custom.sh
फिर इसके साथ खोलें nano /etc/profile.d/custom.sh
#!/bin/sh
alias ls='ls -lah'
और जांचें कि क्या यह देखने से काम करता है कि क्या यह आउटपुट में दिखाई देता है alias
- ध्यान दें कि आपको किसी भी परिवर्तन को देखने के लिए लॉगआउट / लॉगिन या रिबूट करने की आवश्यकता हो सकती है (यदि आप नहीं चाहते हैं, तो source /etc/profile
किसी भी बदलाव के बाद काम चल सकता है)
[संपादित करें: इस मृत लिंक को हटा दिया] www.tilinuxdaily.com/2010/08/setup-a-universal-user-profile-with-etcprofile-dcustom-sh/]
~/.bash_logout
और /etc/bash.bash_logout
काम नहीं करते। :(
/etc/profile.d/
जाएगा नहीं उप प्रक्रिया सही द्वारा उठाया जा सकता है? तो उपनाम केवल तभी उपलब्ध है जब बैश लॉग-इन शेल है?
के लिए जाओ /etc/bash.bashrc
vim /etc/bash.bashrc
और वहां अपना उपनाम बनाएं।
अंतिम पंक्ति में अपना उपनाम जोड़ें।
उर्फ एबीसी = "जो भी हो"
वह उपनाम सभी उपयोगकर्ताओं के लिए वैश्विक हो जाएगा।
लेकिन सुरक्षा कारणों से हम आपको इसकी सलाह नहीं देते हैं।
वहाँ profile.d
निर्देशिका जो उपयोगकर्ता के वातावरण फ़ाइलें हैं
के लिए जाओ
cd /etc/profile.d/
विम उपनाम
और अपने उपनाम यहाँ जोड़ें।
आपके सिस्टम फ़ाइलों को प्रभावित किए बिना। यह आपके पर्यावरण फ़ाइलों के साथ काम करने के लिए सुरक्षित और सही तरीका है।
यहां पहले से ही एक स्वीकृत उत्तर है, लेकिन आप /etc/profile.d, आदि में फ़ाइलों के साथ खिलवाड़ करने के बजाय उपयोगकर्ता वातावरण के सिस्टम-वाइड कॉन्फ़िगरेशन को संभालने के लिए पर्यावरण मॉड्यूल के कुछ रूप का उपयोग करने पर विचार कर सकते हैं। यह विशेष रूप से सच है यदि आप चाहते हैं बहुत सारे गोले भर में एक जगह इस नियंत्रण का प्रबंधन करें। Lmod (बहुत सक्रिय विकास के तहत), C / TCL मॉड्यूल (क्लासिक समाधान), या Cmod (हल्के)।
नहीं जानता कि क्या मैं इसे सही कर रहा हूं, लेकिन यह मेरे लिए / a / home / ComunAtodos निर्देशिका (पूंजीकृत और स्पेनिश में) यह स्पष्ट करने के लिए काम करता है कि यह एक मूल देशी निर्देशिका नहीं है) और .bashrc, .nanorc डाल दें। .bash_aliases फिर मैं /etc/skel/.profile में उन लोगों को संदर्भित करता हूं ताकि नए उपयोगकर्ता उनके लिए इंगित करें, और केवल उन विशिष्ट उपयोगकर्ताओं के लिए अतिरिक्त जोड़ दें जिनकी उन्हें आवश्यकता है।
मैं लिनक्स ऑपराटिव सिस्टम के लिए वास्तव में नया हूं, लेकिन मैंने एक बैश स्क्रिप्ट का एक स्केच बनाया है जो सभी उपयोगकर्ताओं को .bashrc फाइल को संशोधित करने का काम करता है न कि सिस्टम फाइल /etc/.bashrc फाइल को।
#!/bin/bash
X=$( cat etc/passwd | cut -f1 -d: ) #All-users
For X in /home/*/.bashrc ; do
echo "alias ls='ls -al'" >> $X
2>/dev/null
done
source $X
exit 0
ठीक है, तो मुझे पता है कि वह स्क्रिप्ट काम करती है, लेकिन अगर यह गलती मुक्त है तो मैं नहीं करता हूं :) इसके अलावा आप इसे संशोधित कर सकते हैं ताकि इसमें सभी उपयोगकर्ता शामिल न हों, हो सकता है कि यू उन सभी उपयोगकर्ताओं के लिए एक फ़ाइल बनाएं जिनकी उन्हें .bashrc फ़ाइल की आवश्यकता है। अनुकूलित।
.bashrc
फ़ाइल की आवश्यकता होती है , और हमेशा इस बात की परवाह किए बिना कि क्या लाइन उनकी फ़ाइल में पहले से है।
/etc/skel/.bashrc
सामग्री दिखेगी उसे बदलने के लिए कोई भी संपादन कर सकता है~/.bashrc
।