একটি দূরবর্তী ইন্টারেক্টিভ শেল থেকে ssh / মোশ এবং নির্দিষ্ট ফাংশন চালান


2

আমার স্থানীয় মেশিনে আমার নীচের নামটি রয়েছে:

alias gom='mosh -- user@host  "/path/to/specific/zsh"'

আমি ইন্টারেক্টিভ শেল সহ একটি দূরবর্তী মেশিনে সংযোগ করতে এটি ব্যবহার করি। আমি এটির লগ ইন করার সাথে সাথে দূরবর্তী মেশিনে সংজ্ঞায়িত একটি নির্দিষ্ট ক্রিয়াকলাপ চালানোর জন্য এই উরফটি সংশোধন করতে চাই (যখন এই উরফটি ব্যবহার করার সময়)।my_func.zshenv

আমি কীভাবে এটি করতে পারি?

আমি নিম্নলিখিত চেষ্টা করেছি:

  • alias gom='mosh -- user@host "/path/to/specific/zsh"; my_func;'
  • alias gom='mosh -- user@host "/path/to/specific/zsh; my_func"'
  • alias gom='mosh -- user@host "/path/to/specific/zsh & my_func"'

উপরের কয়েকটি সমাধান আমাকে দূরবর্তী সেশনগুলি থেকে সংযোগ বিচ্ছিন্ন করে, অন্যরা তা করে না, তবে সেগুলির কোনওটিই কাজ করে না।


কেন ভিতরে ফাংশন কল না .zshrc?
cuonglm

ধন্যবাদ @ কুওংলম। এটি যে কারণে আমি সহজে ব্যাখ্যা করতে পারি না তার জন্য এটি কোনও বিকল্প নয়। আমার যখন এটি করা প্রয়োজন তখন কেবল তখনই আমি তা করতে পারি using
অ্যামিলিও ওয়াজকেজ-রেইনা

আমি মনে করি আপনি পারবেন না। /path/to/specific/zshএকটি ইন্টারেক্টিভ শেল স্প্যান করুন, তারপরে আপনাকে অবশ্যই my_funcস্পষ্টভাবে কল করতে হবে । অ-ইন্টারেক্টিভ শেলের জন্য, আপনি করতে পারেনmosh -- user@host /path/to/specific/zsh -c "my_func"'
কুওগলম

উত্তর:


2
% exec zsh
% MAGIC=1 exec zsh
hello world
% grep -1 hw .zshrc

function hw { print "hello world" }
[[ -n $MAGIC ]] && hw

% 

তাই আহ দূর থেকে

% ssh localhost "MAGIC=1 zsh -i"

অথবা অন্যকিছু

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