আমি যখন কোনও টার্মিনাল খুলি তখন এই সমস্ত "ডিক্লেয়ার-এক্স ..." লাইনগুলির কারণ কী?


15

আমি যখন আমার ফেডোরা মেশিনে টার্মিনালটি খুলি (বা এতে প্রবেশ করবো), আমি প্রম্পটের আগে এই জাতীয় একগুচ্ছ লাইন পাই:

declare -x CVS_RSH="ssh"
declare -x DISPLAY="localhost:10.0"
declare -x G_BROKEN_FILENAMES="1"
declare -x HISTSIZE="1000"
…

এর কারণ কী? আমার সম্পাদনা করার পরে এটি ঘটতে পারে .bashrcতবে আমি বিশ্বাস করি যে আমি পরিবর্তন করেছি কেবল "PATH =" - তে অন্য ডিরেক্টরি পথ যুক্ত করা।

আপডেট ( ভারী জবাব দেওয়া সাড়া ): আমি গ্রেপ করেছি ~/.bashrc, ~/.bash_profileএবং /etc/bashrc"ঘোষণা" করলাম এবং কিছুই পাইনি found

আমি দেখেছি /etc/bashrcকারণ ~/.bashrcনিম্নলিখিতটি রয়েছে:

if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi

উপরের কোড, "PATH =…", "রফতানি ..." এবং "উপকরণ" "ব্যতীত আমি ~/.bashrcবা ~/.bash_profileস্ক্রিপ্টগুলিতে কিছুই দেখতে পাচ্ছি না ।

আমি যখন আমার .bashrcস্ক্রিপ্ট (" bash ~/.bashrc" ব্যবহার করে ) বা .bash_profileস্ক্রিপ্টটি চালিত করি তখন আমি "ঘোষিত" তালিকার তালিকা দেখি, তবে কোনও ত্রুটি বার্তা নেই। (আমি দৌড়ালে কিছুই দেখি না /etc/bashrc।)

~./bash_profile খুব সহজ:

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH

সমাধান হয়েছে : ধন্যবাদ অ্যান্ড্রু.এন , আপনার পরামর্শ আমাকে এটি সন্ধান করতে সহায়তা করেছে। এটি প্রমাণিত করে যে সমস্ত "ডিক্লার-এক্স ..." লাইনগুলি আউটপুট হয় যদি কোনও একটি রান করে export(নিজেই), এবং আমি ভুলক্রমে আমার মধ্যে "এক্সপোর্ট" এবং "PATH =…" এর মধ্যে একটি সিআর প্রবেশ করিয়েছি .bashrc


/etc/profile.d/ এ দেখুন
ফ্রেইহিট

/Etc/profile.d/ এ আমার কী সন্ধান করা উচিত? এই সব ফাইল কি? (সম্ভবত আমার এটি সম্পর্কে একটি নতুন প্রশ্ন তৈরি করা উচিত))
ড্যারিল স্পিজিটর

ধন্যবাদ। আমার ক্ষেত্রে এটি রফতানি এবং
পাঠের মধ্যে সিআরও

উত্তর:


8

চালান

env - HOME="$HOME" /bin/bash --login -xv 2>&1 | tee foo

ভার্বোজ মোডে স্টার্টআপ বাশ করতে। এটি প্রারম্ভিককরণের ফাইলের প্রতিটি লাইন যেমনটি পড়বে ততই প্রিন্ট করবে এবং প্রারম্ভিককরণের প্রতিটি লাইন যেমন চালিত হয়, আউটপুটটিকে একটি ফাইল হিসাবে অনুলিপি করে বলে foo। তারপরে আপনি fooকী declare -xডাকা হচ্ছে তা দেখতে সন্ধান করতে পারেন ।


6

খুঁজে পেয়েছি যে প্রচুর declare ...বিবৃতি exportযুক্তি ছাড়াই কোথাও চালানোর ফলস্বরূপ ।

আমি আমার মধ্যে একটি দুর্ঘটনাজনক নিউলাইন পেয়েছি .bashrc:

export
VARIABLE=value

যা হওয়া উচিত ছিল

export VARIABLE=value

হ্যাঁ. এটা সঠিক উত্তর. আপনি যদি নিজের টার্মিনালে নিজেই "এক্সপোর্ট" টাইপ করেন তবে আপনি একই ডিক্লেয়ার-এক্স আউটপুট প্রদর্শিত হবে see
স্টার্লিং বোর্ন

হ্যাঁ, এটি আমার জন্য প্রযোজ্য! আমি দুর্ঘটনাক্রমে রফতানির সামগ্রীটি পরবর্তী নতুন লাইনে রেখেছি। আমি তাদের একই লাইনে রেখেছি এবং এটি কার্যকর হয়।
ফ্যানচেনা

3

হ্যাঁ, সম্ভবত আপনি এটি সম্পাদনা করার কারণে এটি আপনার .bashrc থেকে আসছে। আপনি স্ক্রিপ্টে একটি সিনট্যাক্স ত্রুটি প্রবর্তন করতে পারেন যা এর ফলে আউটপুট হতে পারে।

টাইপ করে আপনার .bashrc এ এই লাইনগুলি বিদ্যমান রয়েছে তা নিশ্চিত করতে পারেন:

grep declare ~/.bashrc

আপনার কনসোলে প্রিন্ট হওয়া কমপক্ষে 4 টি লাইন দেখতে হবে। আপনি প্রম্পট থেকে .bashrc স্ক্রিপ্ট চালানোর চেষ্টা করতে পারেন এবং কোনও ত্রুটি আউটপুট রয়েছে কিনা তা দেখতে দেখতে:

bash ~/.bashrc
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.