আমি কীভাবে $ HOME ছাড়া অন্য ডিরেক্টরিতে সমস্ত শেল সেশন শুরু করব?


53

আমি যখন উবুন্টুতে আমার নন-লগইন শেলটি খুলি, তখন আমার বর্তমান ওয়ার্কিং ডিরেক্টরিটি /home/user_name(আমার $HOMEপরিবেশ পরিবর্তনশীল) তবে আমি এটি পরিবর্তন করতে চাই যখন আমি টার্মিনালটি শুরু করি তখন আমি অন্য কোনও ডিরেক্টরিতে থাকি।

আমি পড়েছি যে আমি যখন উবুন্টুতে আমার টার্মিনালটি শুরু করি তখন একটি .bashrcফাইল উত্সাহিত হয়। তাই আমি যোগ

export HOME=/home/user_name/Documents 

আমার .bashrcফাইলে এখন, আমি আমার টার্মিনালটি খুললে আমি এখনও /home/user_nameডিরেক্টরিতে আছি ।

আমি কীভাবে এটি পরিবর্তন করতে পারি?


এটা কি সাহায্য করে? Askubuntu.com/a/75223/212231
মার্ক

3
এটি না করার বিষয়টি বিবেচনা করার মতোও হতে পারে। ইউএনআইএক্সের নকশা আপনার পূর্বপুরুষরা আপনার কিছুই জানেন না বলে হস্তান্তর করেনি।
শন ডি

উত্তর:


52

প্রথমত, আপনার থেকে সেই লাইনটি সরিয়ে দিন .bashrc। এটি না করার মাধ্যমে $HOMEএটি করার উপায়টি that পরিবর্তনশীলটি সর্বদা আপনার হোম ডিরেক্টরিতে নির্দেশ করবে এবং আপনি এটি পরিবর্তন করতে চান না যাতে আপনার শেলগুলি অন্য কোনও জায়গায় শুরু হয়।

আমি নিশ্চিত যে এটি করার জন্য আরও মার্জিত উপায় থাকবে তবে অস্থায়ী কর্মক্ষেত্র হিসাবে আপনি কেবল এই লাইনটি আপনারটিতে যুক্ত করতে পারেন .bashrc:

cd ~/Documents 

যেহেতু আপনি যখনই নতুন নন-লগইন শেল (নতুন টার্মিনালটি খুলুন) শুরু করেন তখন ফাইলটি পঠিত হয়, সুতরাং cdআদেশটি কার্যকর হবে এবং আপনার ইচ্ছামতো আপনার টার্মিনালগুলি শুরু হবে ~/Documents


নোট করুন যে এটি সমস্ত অ-লগইন ইন্টারেক্টিভ শেলগুলিকে প্রভাবিত করবে (এবং আপনি যদি আপনার bashrcটিকে আপনার বাশ_প্রফাইলে উত্স দিয়ে থাকেন তবে লগইন করুন) এবং এসএসডি দ্বারা শুরু হওয়া অ-ইন্টারেক্টিভগুলি।
স্টাফেন চেজেলাস

আপনি কি নিশ্চিত? সাধারণত [[ -z "$PS1" ]] && exitশীর্ষে রক্ষী থাকে .bashrcযা অ-ইন্টারেক্টিভ সেশনগুলির জন্য এটির প্রতিরোধ করা উচিত।
মার্টিন উয়েডিং

2
@ ক্যুওভারফ্লো সাধারণত? কোন অপারেটিং সিস্টেমে? কোন বিতরণে? দেবিয়ান, সুস বা সেন্টোস-এ নেই। বাস্তবে, আমি মনে করি উবুন্টুতে আমি কেবল এটি কখনও দেখেছি।
টেরডন

@terdon আমি এটি উবুন্টুতে দেখেছি এবং ভেবেছিলাম এটিই সাধারণ ঘটনা।
মার্টিন ইয়েডিং

20

টার্মিনালটি তার পিতামাতার কাছ থেকে উত্তরাধিকার সূত্রে কর্মরত ডিরেক্টরিতে শুরু হবে।

তবে, কিছু এটি কনফিগারেশন সেটিংসের মাধ্যমে ওভাররাইড করার অনুমতি দেয়।

এর সাহায্যে gnome-terminalআপনি নিজের প্রোফাইল সম্পাদনা করতে পারবেন , আমার শেলের পরিবর্তে একটি কাস্টম কমান্ড চালিয়ে টিক দিন:

sh -c 'cd ~/Documents; exec "${SHELL:-sh}"'

1

আমি যা রেখেছি তা এখানে ~/.bash_profile:

alias curDir="pwd | sed -e 's/ /\\ /'"
alias save='echo `curDir` > ~/.saved_dir'
alias saved='cd `cat ~/.saved_dir`'
saved

এবং আমি সর্বদা এটির উপর নির্ভর করি। মূলত, যখন আমি কোনও প্রকল্পে কাজ করছি, আমি এটির জন্য saveএকটি প্রধান ডিরেক্টরি করব এবং তারপরে প্রতিটি পরবর্তী অধিবেশন সেখানে শুরু হবে। তারপরে আমি যখন প্রকল্পগুলি বা যেকোন কিছু পরিবর্তন করি তখন আমি saveঅন্য কোথাও থাকি ।

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


এটি গিট ব্যাশে পাশাপাশি কাজ করে। কেবল বাশ শেলটি পুনরায় চালু করতে বা ফাইলটি পরিবর্তন করার পরে "উত্স ~ / .bash_profile" ব্যবহার মনে করুন remember
টিম

0

.bashrcফাইলগুলি কোথায় রয়েছে সেদিকে নজর রাখার জন্য, সাধারণত এটি হোম ডিরেক্টরিতে একটি লুকানো ফাইল।

এটি সন্ধান করতে:

আপনার টার্মিনালটি খুলুন এবং হোম ডিরেক্টরিতে যান এবং তারপরে:

ls -al

সমস্ত লুকানো ফাইল প্রদর্শন করতে। এখন আপনি নিজের .bashrcফাইলটি দেখতে সক্ষম হবেন ।

ডিফল্ট ডিরেক্টরি পরিবর্তন করতে

  1. .bashrcকমান্ডটি প্রবেশ করে আপনার পাঠ্য সম্পাদকটিতে ফাইলটি খুলুন :

    gedit .bashrc
  2. সর্বশেষে আপনার আদেশটি যুক্ত করে এই ফাইলটি সম্পাদনা করুন:

    cd ~/YourDirectoryName
  3. ফাইলটি সংরক্ষণ করুন এবং টার্মিনালটি পুনরায় চালু করুন।


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