বিভিন্ন ফোল্ডারে (ওয়ার্কিং ডিরেক্টরি) কয়েকটি টার্মিনাল ট্যাব কীভাবে খুলবেন?


10

আমি চাই একটি স্ক্রিপ্ট বিভিন্ন ফোল্ডারে বেশ কয়েকটি ট্যাব খুলুক।

অনুসন্ধান করার সময় আমি এই এন্ট্রিটি পেয়েছি , কিন্তু নীচের মত দেখতে একটি মত বিনিময় আমার হোম ফোল্ডারে তিনটি ট্যাব সহ একটি টার্মিনাল খুলল। ত্রুটি বার্তাটি দেখিয়েছে:

Failed to parse arguments: Unknown option --execute=cd /some/thing/

স্ক্রিপ্টটি এর মতো দেখাচ্ছে:

#!/bin/sh
gnome-terminal --tab --execute="cd /some/thing/" \
          --tab --execute="cd /home/" \
          --tab --execute="cd /home/" \
exit 0

- ওয়ার্কিং-ডিরেক্টরি = "/ কিছু / জিনিস /" সহ একটি বৈকল্পিকতাও সাহায্য করেনি। আপনি কি ভুল দেখতে পাচ্ছেন?

উত্তর:


8

নিম্নলিখিতটি আমার জন্য একরিকের জন্য কাজ করে। আপনি এটি আপনার সংস্করণের জায়গায় ব্যবহার করতে পারেন:

#!/bin/bash
gnome-terminal --tab  --working-directory="/var/www/" --tab --working-directory='/home/' --tab --working-directory='/home/'
exit 0

3

--executeবিকল্পটি সঠিকভাবে ব্যবহার না করার কারণে আপনার নির্দিষ্ট ত্রুটি ঘটেছে । আপনি নীচের ম্যান পৃষ্ঠা থেকে উদ্ধৃত অংশটি দেখুন, আপনি খেয়াল --execute করতে পারেন যে বাক্য বিন্যাসের অংশ হিসাবে তালিকাভুক্ত সমান চিহ্ন নেই, কারণ এটি কেবলমাত্র কমান্ড লাইনের পুরো অংশটি সম্পাদন করে। সঠিক ব্যবহারের উদাহরণ হ'ল:

gnome-terminal --execute play '/home/cjohnson/Still Alive.mp3'

গুরুত্বপূর্ণ দ্রষ্টব্য: যেভাবেই হোক
ব্যবহার cdকরা কিছুটা বিশেষ ক্ষেত্রে। cdবেশিরভাগ কমান্ডের মতো নয় — এটি নিজস্ব বাইনারি / এক্সিকিউটেবল চালু করে না। এটি সরাসরি ব্যাখ্যা করা হয়েছে bash(বা আপনি যে কোনও শেল ব্যবহার করছেন)। সুতরাং প্রার্থনা করার চেষ্টাটি পতাকা এবং পতাকাগুলির cdসাথে একমত হয় না (যা সরাসরি কোনও শিশু প্রক্রিয়া উত্সাহিত করতে চায় বলে মনে হয়)। একই সমস্যা (আমি চেক করেছি) ঘটবে অন্যান্য কমান্ডের যা সরাসরি দ্বারা প্রক্রিয়াকৃত হয় মত । এমনকি যদি সমান চিহ্ন ছাড়া সঠিকভাবে ব্যবহৃত হয়, তবুও এটির একটি ত্রুটি হবে: "ফাইল বা ডিরেক্টরি খুঁজে পাওয়া যায় নি।" সুতরাং বিকল্পটি ব্যবহার করা আপনি যা করতে চান তা করার জন্য আপনার সেরা বেট bet--execute-xbashhome--working-directory=[DIRECTORY]

অন্য গুরুত্বপূর্ণ নোট:
এমনকি এটি না হলেও আপনি এখনও সমস্যায় পড়ে যাবেন। --executeআপনি যখন বিকল্পটির অর্থটি প্রকৃতপক্ষে চান তখন সমস্যাটি বিকল্পটি ব্যবহার করার চেষ্টা করার মধ্যেই অন্তর্ভুক্ত --command। ম্যান পেজ ডকুমেন্টেশনে এটি নির্দিষ্টভাবে উল্লেখ করেছে

-e, --command = STRING টার্মিনালের ভিতরে এই বিকল্পটিতে যুক্তি
সম্পাদন করুন

-x, --execute টার্মিনালের ভিতরে থাকা কমান্ড লাইনের
অবশিষ্ট অংশটি কার্যকর করুন

(জোর আমার)

অন্য কথায়, এটি সম্ভবত আপনার মনে হয় যেভাবে এটি বিশ্লেষণ করবে না। ব্যবহার --executeআপনাকে পরবর্তী কোনও বিকল্প পাস করা থেকে বাধা দেয় gnome-terminal

আমার নিজস্ব স্ক্রিপ্টগুলির একটি অংশ যেখানে আমি পৃথক ট্যাবগুলিতে একাধিক কমান্ড চালিত করি (আমার গোপনীয়তা / সুরক্ষার জন্য নাম পরিবর্তন করা হয়েছে):

gnome-terminal --tab --command="ssh cjohnson@GLaDOS" --tab --command="ssh drattman@GLaDOS"

(উল্লেখ্য, ব্যবহার করার চেষ্টা --commandসঙ্গে পতাকা cdবা homeআরো পরিচিত "এমন কোন ফাইল বা ডিরেক্টরির" ত্রুটি পরিণাম ডেকে আনবে।)

আমি আশা করি এটি খুব দীর্ঘ নয়। আমি শুধু পুরোপুরি হওয়ার চেষ্টা করছি।

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