আপনার লাইনটি .profile
একটি হওয়া উচিত
export PATH="$PATH:$HOME/Unix/homebrew/bin"
PATH="$PATH:$HOME/Unix/homebrew/bin"
PATH=$PATH:$HOME/Unix/homebrew/bin
PATH=$PATH:~/Unix/homebrew/bin
~
চরিত্রটি কেবল তখন আপনার বাড়ির ডিরেক্টরিতে প্রসারিত হয় যখন এটি কোনও শব্দের প্রথম অক্ষর এবং এটি অবরুদ্ধ। আপনি যা লিখেছেন তাতে ~
দ্বিগুণ উদ্ধৃতিগুলির মধ্যে এবং তাই প্রসারিত নয়। এমনকি আপনি লিখলেও export "PATH=$PATH:"~/Unix/homebrew/bin
, এটি ~
প্রসারিত হবে না কারণ এটি শেল শব্দের শুরুতে নয়।
একটি বিশেষ বিভাজন রয়েছে, যা এর জন্য PATH
এবং অনুরূপ ভেরিয়েবলের মান লিখতে । যদি ~
একটি সমান চিহ্নের পরে থাকে যা একটি অ্যাসাইনমেন্ট চিহ্নিত করে, বা যদি কোনও অ্যাসাইনমেন্টের ডান হাতের ~
ঠিক পরে থাকে :
তবে এটি প্রসারিত হয়। কেবল সরল অ্যাসাইনমেন্টে এই সরবরাহ রয়েছে, export PATH=…
গণনা করা হয় না (এটি export
বিল্টিনের কাছে একটি কল , যার মধ্যে একটি =
চরিত্র রয়েছে এমন একটি যুক্তি রয়েছে )।
এখানে, আপনাকে রফতানি করার দরকার নেই PATH
কারণ এটি ইতিমধ্যে রফতানি হয়েছে। export
যখন আপনি একটি ভেরিয়েবলের মান পরিবর্তন করেন তখন আপনাকে কল করার দরকার নেই (ওএসএক্স বা লিনাক্সে পুরানো বোর্ন শেলগুলি পাবেন না যা বাদে)। এছাড়াও, একটি অ্যাসাইনমেন্টে (আবার, export
গণনা করা হয় না), আপনার ডান হাতের চারপাশে ডাবল কোট লাগবে না, তাই ফাঁকা স্থান PATH=$PATH:~/Unix/homebrew/bin
থাকলেও নিরাপদ $PATH
।
which
এখানে দোষ নেই;~
সংজ্ঞা প্রসারিত করা উচিত ছিলPATH
। ব্যাশে একটি বিজোড়তা রয়েছে যা এটি~
যাইহোক প্রসারিত করেPATH
, তাই দুটি ভুল একটি সঠিক, ধরণের তৈরি করে।