আর একটি পদ্ধতি হ'ল এই উদ্দেশ্যে নিবেদিত আপনার নিজস্ব কমান্ড তৈরি করা। এটি এমন ফাংশনটির মাধ্যমে করা যেতে পারে যা দেখে মনে হয়:
$ function mv-special { mv $1 $2; cd $(dirname $(echo $2-)); }
যেখানে: (1) mv-special
ফাংশন নাম; (2) ভেরিয়েবল $1
এবং $2
ফাংশনে আর্গুমেন্ট যারা কমান্ডগুলি ব্যবহার করবে mv
এবং cd
; (3) $(echo $2-)
ভ্যারিতে স্ট্রিংয়ের শেষে একটি ওয়াইল্ডক্যাট চরিত্র যুক্ত করে $2
এবং dirname
ভেরিয়েবলটিতে $2
কেবল পথ থাকলে তার আচরণ স্থির করে; (4) $(dirname $(echo $2-))
কেবলমাত্র থেকে ফিল্টার করবে $2
।
এই উত্তর অনুসারে ফাংশনটি দেখতে পারে:
$ function mv-special { mv $1 $2; cd ${2%/*}; }
যেখানে: ${2%/*}
কেবলমাত্র পথটি ফিল্টার করবে $2
।
কমান্ড হিসাবে উপলব্ধ হওয়ার জন্য এই ফাংশনটি রফতানি করতে হবে :
$ export -f mv-special
ব্যবহার:
$ mv-special file.pdf ../../../Dropbox/sharedfolder/subdirectory/file.pdf
বা:
$ mv-special file.pdf ../../../Dropbox/sharedfolder/subdirectory/
দয়া করে এতে মনোযোগ দিন - উভয় রূপের জন্য - দ্বিতীয় যুক্তি ( $2
) অবশ্যই ফাইলের নাম বা স্ল্যাশ ( /
) দিয়ে শেষ হবে ।
আমাদের নতুন কমান্ড স্থায়ীভাবে উপলভ্য হওয়ার জন্য, ফাংশনটির সংজ্ঞা এবং এক্সপোর্ট কমান্ড অবশ্যই এতে যুক্ত করা উচিত ~/.bashrc
:
# My custom 'mv-special' command:
function mv-special { mv $1 $2; cd $(dirname $(echo $2-)); }
export -f mv-special
বা:
# My custom 'mv-special' command:
function mv-special { mv $1 $2; cd ${2%/*}; }
export -f mv-special
কাস্টম কমান্ড তৈরি করা যেতে পারে এবং এক্সিকিউটেবল স্ক্রিপ্ট ফাইলের মাধ্যমে যা এতে ~/bin
বা এর মধ্যে রাখা হয় /usr/sbin
: আমি কীভাবে একটি কাস্টম টার্মিনাল কমান্ড তৈরি করতে পারি (স্ক্রিপ্ট চালানোর জন্য)? তবে সত্যি কথা বলতে, এই দৃশ্যে আমি আচরণের সাথে একটি সমস্যার মুখোমুখি হয়েছিলাম cd
।