আপনি যদি cd
উপনাম বিকল্পের পরে এটি আটকে না রাখতে চান তবে (
y এর সাথে সাবসেল ব্যবহার করুন )
:
alias my_x="(cd /home/path_to_x && ./x)&"
আপনি এটি দিয়ে পরীক্ষা করতে পারেন
alias test_y="(cd /tmp && sleep 10 ) & "
মনে রাখবেন যে, সমাধান
alias my_y="/home/path_to_x/x"
ঠিক সমতুল্য নয়। প্রকৃতপক্ষে, যদি মাধ্যমে বলা হয় my_x
, x
প্রোগ্রামটি একটি বর্তমান ডিরেক্টরি দিয়ে পরিচালিত হয় /home/path_to_x/
, যখন তাকে ডাকা হয় my_y
, x
একটি বর্তমান ডিরেক্টরি দিয়ে চালিত হয় যা কমান্ডটি my_y
জারি করা হয়েছিল। এটি গুরুত্বপূর্ণ বা কি x
করছে তার উপর নির্ভর করে নাও হতে পারে ।
ওপি সমাধান সম্পর্কে , এটি এতে কাজ করে bash
:
romano@RRyS:~$ pwd
/home/romano
romano@RRyS:~$ alias x="cd /bin && ./echo A >/dev/null &"
romano@RRyS:~$ x
[1] 16611
romano@RRyS:~$ pwd
/home/romano
তবে এতে নেই zsh
:
[romano:~] % pwd
/home/romano
[romano:~] % alias x="cd /bin && ./echo A >/dev/null &"
[romano:~] % x
[1] 16744
[1] + 16744 done ./echo A > /dev/null
1& [romano:/bin] % pwd
/bin
[romano:/bin] %
দেখে মনে হচ্ছে যে বাশ এবং জ্যাশ বিভিন্ন উপায়ে তালিকা সম্পাদন করে ... তাই স্পষ্টতই প্রথম বন্ধনী যুক্ত করা আরও ভাল ... আমাকে ইশারা করার জন্য @ এলিয়াকাগানকে ধন্যবাদ।
alias x='/home/path_to_x/x'
।.
আগে ব্যবহার করবেন না/home
।.
(ডট) বর্তমান ডিরেক্টরি বোঝায়।