উত্তর:
দীর্ঘ গল্প সংক্ষিপ্ত:
একটি স্ক্রিপ্ট ব্যবহার করুন।
#! /bin/sh
# With some window selection magic, or a sleep
# if you want to do that manually.
xdotool type word
xdotool key Return
এবং স্ক্রিপ্টের পথ Exec
মাঠে রাখুন।
দীর্ঘ কাহিনী:
xdotool
ম্যানপেজ অনুসারে :
type
Supports newlines and tabs (ASCII newline and tab).
With respect to "COMMAND CHAINING", this command consumes the
remainder of the arguments and types them. That is, no commands can
chain after 'type'.
কমান্ড চেইনিংয়ের মাধ্যমে ;
বা &
এটি সম্ভব নয়, যেহেতু এটি শেল সিনট্যাক্স এবং স্টার্টআপ অ্যাপ্লিকেশনগুলি শেল সিনট্যাক্স সমর্থন করে না। যাইহোক, আপনি যদি কিছু করতে চান তা যদি Enterকিছু টাইপ করার পরে টিপেন তবে তা করার জন্য চারিদিকের উপায় আছে।
যখন এটি "এএসসিআইআই" নিউলাইনটি বলে, তখন এটি খালি বোঝার অর্থ নয় \n
। এবং কমান্ড প্রতিস্থাপন ( xdotool type "$(printf '\n')"
, বলুন) নতুন লাইনের পিছনে খায়। এই xdotools
ফোরামের পোস্ট অনুসরণ করে , আমি এটি চেষ্টা করেছি:
xdotool type "$(printf 'date\n ')"
এবং এটা কাজ করে. তবে এটি কেবল তখনই কাজ করে যদি এর পরে কিছু চরিত্র থাকে \n
এবং এটি স্পষ্টতই একটি পিছনের স্থান ছেড়ে দেয়, যা আপনি চান না। আমি এটিকে সংশোধন করেছি:
xdotool type "$(printf 'date\n\e ')"
এবং এটি কাজ করে এবং কোনও পিছনে স্থান দেয় না। তবে এটি তাদের শেলটিতে ভাই মোড ব্যবহার করে তাদের জন্য সমস্যা তৈরি করতে পারে।
@ স্টিল্ড্রাইভারের মন্তব্যে ধন্যবাদ আমি বুঝতে পেরেছিলাম যে, আমি যে কমান্ডগুলি কমান্ডটি চালিয়েছিলাম তার খুব টার্মিনালটিতে চেষ্টা করার কারণে এটি হয়েছিল। একটিমাত্র নতুন লাইনের সঠিকভাবে নিবন্ধনের জন্য আমার টিপুন Enterএবং xdotool
কমান্ডের মধ্যে একটি সামান্য ব্যবধানই যথেষ্ট ছিল। এভাবে:
sleep 0.1; xdotool type $'date\n'
সুতরাং হয় তা উদ্ধৃত করে রেখাটি প্রসারিত করুন:
xdotool type 'date
'
বা @ স্টেলড্রাইভার প্রস্তাবিত হিসাবে শেল ব্যাখ্যাটি সঠিক বিকল্পের মতো দেখায়।
তবে, একটি স্ক্রিপ্ট রয়েছে:
#! /bin/sh
sleep 1
xdotool type date
xdotool key Return
মধ্যে Exec
ক্ষেত্র জরিমানা করেন। প্রকৃতপক্ষে, আমি সবসময় একটি ডেস্কটপ ফাইলে জটিল কমান্ডের জন্য একটি স্ক্রিপ্ট ব্যবহার করার পরামর্শ দিই।
আপনি /usr/bin/xdotool
শিবাঙের সাথে একটি স্ক্রিপ্ট রাখতে পারেন , তবে ম্যানপেজটি বলে যে " script
মোডটি পুরোপুরি সজ্জিত হয় না এবং আপনার প্রত্যাশার নীচে পড়ে যেতে পারে", তাই আমি স্ক্রিপ্টগুলিকে বাঁচিয়েছি।
আমি হয়ত জিনিসগুলি দেখছি, তবে আমার প্রথম কয়েক দফায় চেষ্টা । এটি অন্য উইন্ডোর পরিবর্তে কমান্ড সম্পাদনকারী টার্মিনালে এটি চেষ্টা করার একটি নিদর্শন ছিল।sleep
করতে হয়েছে type
এবং key
কমান্ডগুলির মধ্যে একটি (ছোট) রাখতে হয়েছিল
xdotool type 'word
তারপরে 'এন্টার' কী এবং তারপরে সমাপ্তি ( '
যেমন বাশটি আর্গুমেন্টটি পাস করার আগে আক্ষরিক নতুন $'word\n'
লাইনে প্রসারিত করে )। \n
xdotool
'
বা দুই \n
সঙ্গে গুলি $
কৌতুক)।
sleep
(ছোট লেখায় নোটটি দেখুন)। আমি উইন্ডোজ পরিবর্তন করছিলাম না এবং কেবল এটি একই উইন্ডোতে চেষ্টা করে দেখছিলাম, তবে একটি দিয়ে sleep 1
উভয় পদ্ধতি একই উইন্ডো এবং স্যুইচিংয়ের পরে উভয়ই কাজ করেছিল। আমি অনুমান করি আমার নিজস্ব এন্টার কিপ্রেস একরকম এক্সডটুল নিউলাইনটিতে হস্তক্ষেপ করেছে। তবে ডেস্কটপ ফাইলের আরও জটিল প্রয়োজনের জন্য, আমি এখনও স্ক্রিপ্টটি সুপারিশ করব।
আমার কাছে মনে হয় অ্যাপ্লিকেশনটি একাধিক কমান্ড বিশ্লেষণ করছে না, একে একে একক আদেশ হিসাবে বিবেচনা করে। যেমন এটি একটি শেল কল মোড়ানো দ্বারা একটি একক কমান্ড করুন ...
bash -c 'xdotool type date; xdotool key Return'
এখন আপনি অন্যান্য শেল জিনিসও করতে পারেন ...
bash -c 'xdotool type "`date +"%Y-%m-%d_%T`"'
মনে রাখবেন যে শেষটিতে ব্যবহৃত "তারিখ" কমান্ডটিতে একটি নতুন লাইন রয়েছে! এবং "xdotool" এটি আউটপুট দেবে।
দ্রষ্টব্য: আপনি যদি কীবোর্ড ম্যাক্রো হিসাবে এটি করছেন তবে আমি এই কাজটি আরও উন্নত করতে "xdotool" এ আরও কয়েকটি বিকল্প যুক্ত করব ...
bash -c 'xdotool type --clearmodifiers -delay 0 "`date +"%Y-%m-%d_%T`"'
xdotool type $'word\r'
, যেখানে ফিরে যাওয়ার মতো কিছুতে$''
পালিয়ে যায়\r
(\n
এখানে কাজ করে না)।