উত্তর:
cd
একটি শেল অন্তর্নির্মিত । শেল বিল্টিনগুলি সম্পাদন করার জন্য আপনাকে শেলটি চাওয়া দরকার:
sudo -u USER sh -c 'cd /home/USER'
অথবা
sudo -u USER bash -c 'cd /home/USER'
cd
এটি বাহ্যিক কমান্ড নয়, এটি কেবল শেল অন্তর্নির্মিত, সুতরাং sudo
এটি সম্পাদন করতে পারে না। কেবল cd
শেল বিল্টিন হিসাবে উপস্থিত থাকার কারণটি হ'ল কোনও প্রক্রিয়া অন্য প্রক্রিয়ার বর্তমান ডিরেক্টরিকে প্রভাবিত করতে পারে না; অতএব এমন একটি প্রোগ্রাম যা বর্তমান ডিরেক্টরি পরিবর্তন করে এবং অবিলম্বে প্রস্থান করে তা অকেজো। (প্রায় অকেজো: একটি cd
প্রোগ্রাম এমন একটি স্থিতি ফিরিয়ে দেবে যা নির্দেশ করে যে এটি সফল হয়েছে কিনা))
আপনি যদি কোনও ডিরেক্টরিতে পরিবর্তন করতে চান এবং তারপরে অন্য ব্যবহারকারী হিসাবে কমান্ডগুলি চালাতে চান তবে একটি শেল চালান যা এটি করে।
sudo -u SOMEUSER sh -c 'cd /path/to/directory && dosomething'
আমি ব্যবহার করার ঝোঁক: sudo su - USERNAME
এবং তারপরে সেই ব্যবহারকারী হিসাবে আপনার যা প্রয়োজন তা করুন। খালি টাইপ করুনexit
USERNAME
কমান্ড হিসাবে লগইন করা এবং তারপরে কমান্ড কার্যকর করা পৃথক যে সরাসরি চলমান কমান্ডUSERNAME
cd
। ওপি সম্ভবত চায়sudo -i
।