HeadlinesBriefing HeadlinesBriefing.com

التمديد (~) في PATH لا يتوسع إلى دليل HOME

Hacker News •
×

عيب شائع في إعدادات الشل هو استخدام تيلدا (~) داخل علامات اقتباس عند تعيين المتغير PATH. عندما يضيف المستخدمون سطرًا مثل `export PATH="$PATH:~/.local/bin/"` في ملف `.bashrc` أو `.zshrc`، فإن التيلدا لا يتوسع إلى دليل المنزل، بل يُعامل كحرف حروفى، مما يؤدي إلى إضافة مسار نسبي `./~/.local/bin/` إلى المتغير البيئي. يحدث ذلك لأن توسيع التيلدا يحدث فقط على الكلمات غير المغلقة التي تبدأ بـ `~`.

لحل هذه المشكلة، يجب على المستخدمين استخدام المتغير `$HOME` بشكل صريح، مثل `export PATH="$PATH:$HOME/.local/bin/"`. بينما يعمل الإصدار غير المغلوق `export PATH=$PATH:~/.local/bin` في Bash و Zsh، فإنه هش ويمكن أن يتوقف عن العمل إذا تم إدخال مسافات. يمكن تشخيص المشكلة بسرعة عن طريق تشغيل `echo "$PATH" | grep '~'`. إذا أعاد أي ناتج، يجب تحديث ملفات التكوين لاستبدال `~` بـ `$HOME`.

المصدر: Hacker News · لخّصه HeadlinesBriefing