অন্য ব্যবহারকারী হিসাবে sudo দিয়ে সিডি চালাতে সমস্যা


12

আমি অন্য ব্যবহারকারীর পক্ষে শেলের উপর একটি কমান্ড চালাতে চাই। আদেশটি নিম্নরূপ:

sudo -u USER cd /home/USER

আমি পাই

sudo: cd: command not found

কমান্ডটি sudo পাস করার জন্য সঠিক বাক্য গঠন কী?

উত্তর:


14

cdএকটি শেল অন্তর্নির্মিত । শেল বিল্টিনগুলি সম্পাদন করার জন্য আপনাকে শেলটি চাওয়া দরকার:

sudo -u USER sh -c 'cd /home/USER'

অথবা

sudo -u USER bash -c 'cd /home/USER'

1
এটি সত্যিই দরকারী কিছু করবে না --- শেলটি ঠিক পরে বেরিয়ে আসবে cd। ওপি সম্ভবত চায় sudo -i
ডারোবার্ট

5

cdএটি বাহ্যিক কমান্ড নয়, এটি কেবল শেল অন্তর্নির্মিত, সুতরাং sudoএটি সম্পাদন করতে পারে না। কেবল cdশেল বিল্টিন হিসাবে উপস্থিত থাকার কারণটি হ'ল কোনও প্রক্রিয়া অন্য প্রক্রিয়ার বর্তমান ডিরেক্টরিকে প্রভাবিত করতে পারে না; অতএব এমন একটি প্রোগ্রাম যা বর্তমান ডিরেক্টরি পরিবর্তন করে এবং অবিলম্বে প্রস্থান করে তা অকেজো। (প্রায় অকেজো: একটি cdপ্রোগ্রাম এমন একটি স্থিতি ফিরিয়ে দেবে যা নির্দেশ করে যে এটি সফল হয়েছে কিনা))

আপনি যদি কোনও ডিরেক্টরিতে পরিবর্তন করতে চান এবং তারপরে অন্য ব্যবহারকারী হিসাবে কমান্ডগুলি চালাতে চান তবে একটি শেল চালান যা এটি করে।

sudo -u SOMEUSER sh -c 'cd /path/to/directory && dosomething'

1

আমি ব্যবহার করার ঝোঁক: sudo su - USERNAMEএবং তারপরে সেই ব্যবহারকারী হিসাবে আপনার যা প্রয়োজন তা করুন। খালি টাইপ করুনexit


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