কীভাবে একটি নির্দিষ্ট ডিরেক্টরিতে এসএসএইচ করবেন?


39

আমি প্রায়শই একটি সার্ভারে লগইন করি, তারপরে একটি নির্দিষ্ট ডিরেক্টরিতে সিডি করি। এই দুটি কমান্ড একসাথে সহজ করা সম্ভব?

ssh bob@foo  
cd /home/guest

আমি যদি সম্ভব হয় তবে 'foo' এ কোনও পরিবর্তন এড়াতে চাই, কারণ এটি সার্ভার প্রশাসকের সাথে পরিষ্কার করতে হবে। আমি ব্যাশ ব্যবহার করি তবে আমি অন্যান্য শেলগুলিতে জবাব দিতে প্রস্তুত।

উত্তর:


22

কেবলমাত্র আপনার ~ bob / .bash_profile ফাইলের শেষ লাইনটিকে foo- এ রেখে দিন:

cd /home/guest >& /dev/null

এখন প্রতিবার আপনি লগ ইন করবেন (এসএসএইচ দ্বারা বা অন্যথায়), সিডি কমান্ডটি চলবে। Ssh এর সাথে আশেপাশে কোনও শোক করা দরকার না।

আমি জানি আপনি লিখেছেন যে আপনি "সম্ভব হলে 'foo' এর উপর কোনও পরিবর্তন এড়াতে চান," তবে বব @ foo অ্যাকাউন্ট যদি আপনার হয় তবে আপনার নিজের পরিবর্তন করা উচিত ash


2
কেন হ্যাঁ, আমি মনে করি এটি দুর্দান্ত কাজ করবে। পরিবর্তন আনতে আমার আইটি থেকে অনুমতি নেওয়ার দরকার পড়বে না। আপনার কেন> এবং / দেব / নাল প্রয়োজন তা আপনি বিশদভাবে বলতে পারেন?
স্পুডার

6
আমি মনে করি এটি হওয়া উচিত &> /dev/null। এটি সিডি ডিরেক্টরি / হোম / ডিরেক্টরিতে ডিরেক্টরি পরিবর্তন করতে ব্যর্থ হলে এমন কোনও ত্রুটি বার্তা রোধ করে। আপনি যদি এই বার্তাগুলি দেখতে চান তবে কেবল এটি বাদ দিতে পারেন।
কনসোলবক্স

5
>&এবং &>বাশ একই হয়। পরবর্তী শৈলী যদিও পছন্দ করা হয়।

অতিরিক্তভাবে, / dev / null এ পুনঃনির্দেশ ডিরেক্টরিটির অনস্ক্রিন প্রতিধ্বনিত হতে বাধা দেয়, যা "সিডি" করতে পারে।
ড্যানবি

41

এটি ওপেনএসএইচ-এর সাথে কাজ করে:

ssh -t bob@foo 'cd /home/guest && exec bash -l'

শেষ যুক্তিটি আপনার লগইন শেলের মধ্যে চলে। -tপতাকা প্রেরণ sshবাহিনীর sshএকটি সিউডো-টার্মিনাল, যা একটি ইন্টারেক্টিভ শেল জন্য প্রয়োজনীয় বরাদ্দ করা। -lপতাকা প্রেরণ bashশুরু হিসেবে bash লগ-ইন শেল


3
আমি ভাবছি, বাশ-এ বিকল্প যুক্ত করার পাশাপাশি সহায়ক হবে? ... && exec bash -l
কনসোলবক্স

1
@ কনসোলবক্স: এটি একটি ভাল ধারণা। আমি আমার উত্তরে এটি যোগ করেছি।

17

আপনি @ ইভানটিটেলম্যানের সমাধানের মতো এটিও এভাবে করতে পারেন:

$ ssh -t bob@foo "cd /tmp ; bash"

অথবা আপনি যদি অন্য প্রান্তের শেলটি না জানেন:

$ ssh -t bob@foo "cd /tmp && exec \$SHELL"

বা এই মত:

$ ssh -t bob@foo 'cd /tmp && exec $SHELL'
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.