বিবেচনা:
gnome-terminal -x sleep 10m --version
gnome-terminal -e 'sleep 10m' --version
প্রথম উদাহরণে, পরবর্তী সমস্ত কিছুই -x
কমান্ড কার্যকর করার জন্য ব্যবহৃত হয়। জিনোম টার্মিনাল sleep 10m --version
কমান্ড হিসাবে চলবে । --version
এই ক্ষেত্রে জিনোম টার্মিনাল দ্বারা চালিত কমান্ডের অংশ হয়ে যায়।
দ্বিতীয়টিতে, কেবল একক স্ট্রিং আর্গুমেন্টটি -e
কমান্ড হিসাবে ব্যবহৃত হয়, অন্য কিছু নয়। সুতরাং --version
এখানে আসলে জিনোম টার্মিনালের একটি বিকল্প।
আপনি যদি কমান্ডের একটি শৃঙ্খলা চালাতে চান তবে প্রথমটি আরও কার্যকর হতে পারে:
gnome-terminal -x bash -c 'command 1; command 2; ...'
এটি করা কঠিন -e
, কারণ পুরো কমান্ডটি একটি একক স্ট্রিং হওয়া দরকার, তাই আপনাকে পুরো জিনিসটি উদ্ধৃত করতে হবে। এর পরিবর্তে এর অর্থ হ'ল আপনাকে উদ্ধৃতি এবং পরিবর্তনশীল প্রসারণ এবং এই জাতীয় বিষয়ে আরও যত্নবান হওয়া দরকার:
gnome-terminal -e "bash -c 'command 1 $foo; command 2; ...'"
এখানে, $foo
বর্তমান শেল দ্বারা প্রসারিত করা হবে।
gnome-terminal -e 'bash -c "command 1 | awk '\''{print $NF}'\''"'
'
কমান্ড স্ট্রিংয়ের ভিতরে ব্যবহার করা বিরক্তিকর উদ্ধৃতি হ্যান্ডলিংয়ের সাথে জড়িত।