উত্তর:
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।