আমি এর মতো একটি সাধারণ সি প্রোগ্রাম তৈরি করেছি:
int main(int argc, char *argv[]) {
if (argc != 5) {
fputs("Not enough arguments!\n", stderr);
exit(EXIT_FAILURE);
}
এবং আমি আমার PATH এ জাতীয় / bash.bashrc এ পরিবর্তন করেছি:
PATH=.:$PATH
আমি এই প্রোগ্রামটিকে set.c হিসাবে সংরক্ষণ করেছি এবং এটি সংকলন করছি
gcc -o set set.c
ফোল্ডারে
~/Programming/so
যাইহোক, আমি কল যখন
set 2 3
কিছুই ঘটেনি. উপস্থিত কোনও পাঠ্য নেই।
কল করা হচ্ছে
./set 2 3
প্রত্যাশিত ফলাফল দেয়
PATH এর আগে ও আগে কখনও আমার সমস্যা হয়নি
which set
আয় ./set
। সুতরাং দেখে মনে হচ্ছে যে পথটি সঠিক। কি হচ্ছে?
test
মূলত একই কারণে আপনার পরীক্ষা প্রোগ্রামটি কল করাও একটি খারাপ ধারণা ; test
এটিও অন্তর্নির্মিত একটি শেল।
test
দেওয়ার জন্য এটি বোধগম্য হয়। অবশ্যই আপনি এটি নিজের মধ্যে রাখার সময় PATH
পর্যন্ত আপনার সত্যই আলাদা নামটি নিয়ে আসা উচিত ছিল। এবং যতক্ষণ না আপনি প্রোগ্রামটি নিজের মধ্যে রাখেন ততক্ষণ আপনাকে PATH
এটিকে ./test
যেভাবেই ডাকা উচিত । সুতরাং test
কোনও প্রোগ্রামের জন্য নামটি ব্যবহার করা যতক্ষণ না এটি একটি তাত্ক্ষণিক পরীক্ষা যা দিন শেষ হওয়ার আগেই আপনি মুছতে চান তা ঠিক।
foo
।
ls
তবে যখনই আপনি দেখতে যান এটি বিদ্যমান কিনা এটি চলবে (তবে কেবল আপনি যদি প্রশ্নটিতে যেমন করেন তবে আপনার পথটি পরিবর্তন করেন)।