বেশ কয়েকটি ব্যবহারকারীর জন্য আমি কীভাবে একটি একক .bashrc ফাইল সেট করতে পারি?


30

আমার কাজের সময় আমাকে নিয়মিত বাশার্কে উরফ কমান্ড যুক্ত করা দরকার, এই কমান্ডগুলির বেশিরভাগই অন্য ব্যবহারকারীদের দ্বারা চালিত হওয়া প্রয়োজন। বাহ্যিক উত্স থেকে কোনও বাশার্কে আমি ওরফে কমান্ড যুক্ত করার কোনও উপায় আছে কি?

উত্তর:


40

ব্যবহারকারীদের হোম ডিরেক্টরিতে থাকা অনেকগুলি কনফিগারেশন ফাইলের মধ্যে কেবল ওভাররাইড / /etcএগুলি যুক্ত করে - উদাহরণস্বরূপ ব্যবহারকারীদের বাড়ির জিআইএমপির জন্য সেটিংস রয়েছে ~/.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 / root হিসাবে):

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.tilersuxdaily.com/2010/08/setup-a-universal-user-profile-with-etcprofile-dcustom-sh/]


5
সেখানে প্রচুর ভাল পরামর্শ। আমি মনে করি অন্য একটি অপশন রয়েছে, যা উল্লেখ করার মতোও হবে। নতুন তৈরি করা ব্যবহারকারীদের /etc/skel/.bashrcবিষয়বস্তুগুলির ~/.bashrcচেহারা কেমন তা পরিবর্তনের জন্য কেউ এডিট করতে পারেন ।
কাস্পার্ড

@ ক্যাস্পারড - দুর্দান্ত ধারণা (আপনি চাইলে এর উপর একটি উত্তর দিতে পারতেন)
উইল্ফ

আমার অভিজ্ঞতা, ~/.bash_logoutএবং /etc/bash.bash_logoutকাজ না। :(
ধানের ল্যান্ডাউ

এএফআইকে ওরফে ইন উপ-প্রক্রিয়াটি কি ঠিক ধরে /etc/profile.d/ফেলবে না ? ল্যাশ-ইন শেলটি তখন বাশ কেবল তখনই পাওয়া যায়?
ফ্র্যাঙ্কলিন ইউ

আমি মনে করি তাদের মধ্যে কিছু তখনই কাজ করে যখন এটি ব্যবহৃত হয় কেবলমাত্র একটি টিটিওয়াইকে কেবল পরিবেশ হিসাবে, ডেস্কটপ টার্মিনালে তাদের মধ্যে কিছু ব্যবহার করা যায় না। এটি যাচাই করার জন্য আমাকে এটি পরীক্ষা করতে হবে এবং এই মুহুর্তে করতে পারছি না!
উইলফ

7

যাও /etc/bash.bashrc

vim /etc/bash.bashrc

এবং সেখানে আপনার উপনাম তৈরি করুন।

শেষ লাইনে আপনার উপনাম যুক্ত করুন।

ওরফে আবসি = "যাই হোক না কেন"

যে উপনামটি সমস্ত ব্যবহারকারীর জন্য বৈশ্বিক হয়ে উঠবে।

তবে সুরক্ষার কারণে আমরা আপনাকে এটির প্রস্তাব দিই না।

এমন profile.dডিরেক্টরি রয়েছে যেখানে ব্যবহারকারী-পরিবেশ ফাইল রয়েছে

যাও

সিডি /etc/profile.d/

ভিম এলিয়াস

এবং এখানে আপনার এলিয়াস যুক্ত করুন।

আপনার সিস্টেম ফাইলগুলিকে প্রভাবিত না করে। এটি আপনার পরিবেশের ফাইলগুলির সাথে কাজ করার নিরাপদ এবং সঠিক উপায়।


3

এখানে ইতিমধ্যে একটি স্বীকৃত উত্তর রয়েছে, তবে আপনি /etc/profile.d ইত্যাদিতে ফাইলগুলির সাথে গোলমাল না করে ব্যবহারকারী পরিবেশের সিস্টেম-ভিত্তিক কনফিগারেশন পরিচালনা করতে কিছু পরিবেশ মডিউল ব্যবহার করার কথা বিবেচনা করতে পারেন, বিশেষত সত্য যদি আপনি চান এটি সত্য প্রচুর শেল ছাড়িয়ে এক জায়গায় এই নিয়ন্ত্রণ পরিচালনা করুন। লমড (খুব সক্রিয় বিকাশের অধীনে), সি / টিসিএল মডিউলগুলি (ক্লাসিক সমাধান), বা সিএমড (লাইটওয়েট)


1

আমি এটি সঠিকভাবে করছি কিনা তা জানেন না তবে এটি আমার জন্য / হোম / কমুনআটোডোস ডিরেক্টরি (মূলধন এবং স্প্যানিশ ভাষায় স্পষ্ট করে দেওয়ার জন্য যে এটি কোনও লিনাক্স নেটিভ ডিরেক্টরি নয়) রাখে এবং .brcrc, .nanorc এবং রাখি .বাশ_আলিয়াস সেখানে। তারপরে আমি /etc/skel/. প্রোফাইলে সেগুলি উল্লেখ করি যাতে নতুন ব্যবহারকারীরা তাদের দেখায় এবং কেবল তাদের নির্দিষ্ট ব্যবহারকারীদের জন্য অতিরিক্ত যোগ করে।


-1

আমি লিনাক্স অপারেটিভ সিস্টেমে সত্যই নতুন, তবে আমি একটি বাশ স্ক্রিপ্টের স্কেচটি করেছি যা সমস্ত ব্যবহারকারীদের .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

ঠিক আছে তাই আমি জানি যে স্ক্রিপ্টটি কাজ করে, তবে আমি যদি এটি দোষমুক্ত না করি তবে :) আপনি এটি পরিবর্তন করতে পারেন যাতে এতে সমস্ত ব্যবহারকারীর অন্তর্ভুক্ত না হয়, সম্ভবত আপনি সমস্ত ব্যবহারকারীদের জন্য একটি ফাইল তৈরি করুন যা তাদের .brcrc ফাইলের প্রয়োজন কাস্টমাইজড।


3
প্রথম লাইনটি (যেখানে আপনি / ইত্যাদি / পাসডাব্লুটি পড়েছেন) কিছুই করার মনে হচ্ছে না। আপনার চতুর্থ লাইনটি একটি ভুল বলে মনে হচ্ছে (এবং কেন আপনি ত্রুটিগুলি দমন করতে চান তা আমি দেখতে পাচ্ছি না)। "প্রস্থান 0" অপ্রয়োজনীয়। এর জন্য সমস্ত ব্যবহারকারীদের ইতিমধ্যে একটি .bashrcফাইল থাকা প্রয়োজন এবং লাইনটি ইতিমধ্যে তাদের ফাইলে রয়েছে কিনা তা নির্বিশেষে সর্বদা সংযোজন করা হয়।
থোমাস্রুটার

আমি এই লাইনটি দিয়ে সমস্ত ব্যবহারকারীর নাম পেতে ভাবছিলাম? তবে এখন আমি এটি সম্পর্কে চিন্তা করি আমি কেবল কাটাতে পারি </ etc / passwd, সেই তালিকায় অনেকগুলি নাম ছিল তাই আমি বাশর্ক ফাইল নেই এমন লোকদের জন্য এটি ভুল করতে চাই না é লাইনটি না থাকলে আপনি কীভাবে যুক্ত করতে পারেন? এবং আপনি কি এই জাতীয় রস্কের জন্য সঠিক স্ক্রিপ্টটি লিখতে পারেন দয়া করে আমি কেবলমাত্র এক সপ্তাহের জন্য লিনাক্স ব্যবহার করে আসছি।
ফরহাদ রহিমি 11

দেখে মনে হচ্ছে আপনার ইতিমধ্যে কিছু দক্ষতা রয়েছে তবে শেল স্ক্রিপ্টিংয়ের জন্য এই টিউটোরিয়ালটি ভাল: শেলসক্রিপ্ট.শ । অন্যান্য প্রশ্নের জন্য যেমন কীভাবে কোনও লাইন ইতিমধ্যে বিদ্যমান না থাকলে কেবল কীভাবে যুক্ত করা যায়, তাদের এখানে নতুন প্রশ্ন হিসাবে নির্দ্বিধায় জিজ্ঞাসা করুন।
থোমাসরুটটার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.