আর একটি পদ্ধতি হ'ল এই উদ্দেশ্যে নিবেদিত আপনার নিজস্ব কমান্ড তৈরি করা। এটি এমন ফাংশনটির মাধ্যমে করা যেতে পারে যা দেখে মনে হয়:
$ 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।