কীভাবে অ-ইন্টারেক্টিভ এসএস এনভায়রনমেন্টটি আইটিটিভ এসএস এনভায়রনমেন্টের মতো করা যায়


1

আমার পরিবেশের কনফিগারেশনটি আলাদা যখন আমি সার্ভারে (ইন্টারেক্টিভ ssh) হাতে হাতে চালনার পরিবর্তে ssh স্ট্রিং প্যারামিটার (নন-ইন্টারেক্টিভ ssh) ব্যবহার করে কমান্ডগুলি কার্যকর করি?

উদাহরণ: আমি যখন রান করি তখন ssh <user@servername> "echo \$SGE_ROOT"খালি স্ট্রিং পাই। আমি যখন আমার সার্ভারের সাথে সংযোগ করি ssh <user@servername>এবং রান কমান্ডটি echo $SGE_ROOTপাই /opt/gridengine

আমি অনুমান করি যে কোনও ধরণের প্রোফাইল স্ক্রিপ্ট কার্যকর করা হয়নি। পরিবেশের কনফিগারেশনটিকে অভিন্ন করার জন্য কোন স্ক্রিপ্টটি খুঁজে বের করা এবং এটি অ-ইন্টারেক্টিভ এসএসের মাধ্যমে চালানো সম্ভব?

সার্ভার CentOS 6.6 ব্যবহার করে।


এটা মনে হচ্ছে প্রজাতন্ত্রিক প্রশ্নের মতো । আমার আরও সুনির্দিষ্ট প্রশ্ন হ'ল কীভাবে স্ক্রিপ্টগুলি অ-ইন্টারেক্টিভ এসএস-তে চালিত হয় না তা কীভাবে আবিষ্কার করবেন?
নিকাসাস

ssh <user@servername> "source /etc/profile; echo \$SGE_ROOT" কাজ চলছে
নিকাসাস

1
দয়া করে সমাধানটিকে উত্তর ক্ষেত্রে লিখুন অন্যকে সহায়তা করুন।
জাকুজে

উত্তর:


0

মনে হচ্ছে অ-ইন্টারেক্টিভ ssh ব্যবহার করার সময় প্রোফাইল বা বাশ স্ক্রিপ্টগুলির কোনওটিই কার্যকর হয় না। সুতরাং আমি তাদের স্পষ্টভাবে কল করতে হয়েছিল:

ssh <user@servername> "source /etc/profile; echo \$SGE_ROOT"

এছাড়াও আমাকে এই লাইনে ~/.bashrcফাইলটিতে মন্তব্য করতে হয়েছিল :

# If not running interactively, don't do anything
[ -z "$PS1" ] && return
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.