tmux স্ক্রিপ্ট বিভিন্ন কমান্ড চালু করতে


21

আমি কীভাবে বাশ স্ক্রিপ্টে নিম্নলিখিতগুলি লিখতে পারি?

tmux # Start tmux session.
compass watch /path/to/project1/compass/ # Run the first process.
Ctrl + B, " # Split the pane.
compass watch /path/to/project2/compass/ # Run the second process.
Ctrl + B, D # Exit the session.

উত্তর:


21
tmux \
    new-session  'compass watch /path/to/project1/compass/' \; \
    split-window 'compass watch /path/to/project2/compass/' \; \
    detach-client

new-sessionকমান্ড (যা একটি নতুন সৃষ্টি tmuxঅধিবেশন) এবং split-windowকমান্ড (যা দুটি পেইন মধ্যে বর্তমান উইন্ডোটি splits) tmuxচালানোর জন্য ঐচ্ছিক শেল কমান্ড লাগে। detach-clientশেষে সুস্পষ্ট নয়।

যদি আপনি একটি অনুভূমিক বিভাজন করতে চান (পাশাপাশি দুটি প্যান), split-window -hউপরের কমান্ডটিতে ব্যবহার করুন ।

আপনাকে একাধিক tmuxকমান্ড প্রেরণের সময় tmuxএগুলি দ্বারা পৃথক করা দরকার ;;চাহিদা উদ্ধৃত / এটি (পলায়নের দ্বারা শেল থেকে রক্ষা করা ';', ";"বা \;), শেষে যেমন ব্যাখ্যা থেকে খোলসের থামাতে tmuxকমান্ড।

পাঠযোগ্যতার জন্য আমি পুরো জিনিসটিকে আলাদা লাইনে ভাগ করেছি। আপনি যদি কোনও স্ক্রিপ্টে এটি করেন (যা আমি প্রস্তাব দিই), নিশ্চিত \করুন যে প্রতিটি লাইনে ফাইনালের পরে কিছুই নেই ।

সঙ্গে সেশনের পুনরায় সংযুক্ত tmux a, tmux attachঅথবা tmux attach-session(এই সব হয় সমতুল্য)।

tmuxএকবার উভয় কমান্ড নির্বাহ শেষ করেছি অধিবেশনটিকে শেষ করবে।


3

এটি আমার পক্ষে কার্যকর হয়নি (আমি 'ls -la' এর মতো কিছু করার চেষ্টা করছিলাম)। কি ছিল:

tmux new-session -d bash
tmux split-window -h bash
#sends keys to first and second terminals
tmux send -t 0:0.0 "<my-first-command>" C-m
tmux send -t 0:0.1 "<my-second-command>" C-m
tmux -2 attach-session -d

এটি আমাকে বেশ জেনেরিক স্টাফ চালানোর অনুমতি দেয় এবং যদিও এটি দেখতে কুৎসিত দেখাচ্ছে তবে এটি বেশ কার্যকর।

অন্য লোকেরাও একই জিনিসটির সন্ধান করছে এমন ক্ষেত্রে এটি এখানে রেখে দেওয়া।

সূত্র: https://gist.github.com/kizzx2/4739236

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