it-swarm.asia

كيفية تعيين $ PATH بشكل دائم على Linux/Unix؟

أحاول إضافة دليل إلى طريقي ، لذلك سيكون دائمًا في مسار Linux الخاص بي. لقد حاولت:

export PATH=$PATH:/path/to/dir

يعمل هذا ، ولكن في كل مرة أخرج فيها من المحطة وأبدأ نسخة طرفية جديدة ، يتم فقد هذا المسار ، وأحتاج إلى تشغيل أمر التصدير مرة أخرى.

كيف يمكنني القيام بذلك حتى يتم تعيين هذا بشكل دائم؟

742
Click Upvote

تحتاج إلى إضافته إلى ملف ~/.profile أو ~/.bashrc.

export PATH="$PATH:/path/to/dir"

بناءً على ما تفعله ، قد ترغب أيضًا في الارتباط بالثنائيات:

cd /usr/bin
Sudo ln -s /path/to/binary binary-name

لاحظ أن هذا لن يؤدي تلقائيًا إلى تحديث المسار الخاص بك لبقية الجلسة. للقيام بذلك ، يجب تشغيل:

source ~/.profile 
or
source ~/.bashrc
916
mpowered

في أوبونتو ، حرر /etc/environment. الغرض الوحيد منه هو تخزين متغيرات البيئة. في الأصل يتم تعريف متغير PATH $ هنا. هذا عجينة من ملف /etc/environment الخاص بي:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"

لذلك يمكنك فقط فتح هذا الملف كجذر وإضافة كل ما تريد.

للنتائج الفورية ، قم بتشغيل (جرب كمستخدم عادي و الجذر):

source /etc/environment && export PATH

تحديث:

إذا كنت تستخدم zsh (a.k.a Z Shell) ، فأضف هذا السطر مباشرةً بعد التعليقات الموجودة في /etc/zsh/zshenv:

source /etc/environment

لقد صادفت هذا الغريب في Ubuntu 15.10 ، لكن إذا لم تحصل zsh على الصحيح مسار ، فقد يكون هذا هو السبب

226
trve.fa7ad

هناك طرق متعددة للقيام بذلك. الحل الفعلي يعتمد على الغرض.

عادة ما يتم تخزين القيم المتغيرة في قائمة المهام أو في برنامج شل الذي يتم تشغيله في بداية النظام أو جلسة المستخدم. في حالة البرنامج النصي Shell ، يجب عليك استخدام بناء جملة Shell محدد.

نظام واسع

  1. /etc/environment قائمة المهام الفريدة. مثالي لإضافة أدلة على مستوى النظام مثل /usr/local/something/bin إلى متغير PATH أو تعريف Java_HOME.
  2. /etc/xprofile تم تنفيذ البرنامج النصي Shell أثناء بدء جلسة X Window System. يتم تشغيل هذا لكل مستخدم يقوم بتسجيل الدخول إلى نظام X Window. إنه خيار جيد لإدخالات PATH الصالحة لكل مستخدم مثل /usr/local/something/bin. يتم تضمين الملف بواسطة برنامج نصي آخر ، لذا استخدم بناء جملة POSIX Shell وليس بناء جملة المستخدم Shell.
  3. /etc/profile و /etc/profile.d/* شل النصي. هذا اختيار جيد لأنظمة Shell فقط. تتم قراءة هذه الملفات فقط بواسطة الأصداف.
  4. /etc/<Shell>.<Shell>rc. شيل. هذا اختيار سيء لأنه مخصص لشركة شل.

جلسة المستخدم

  1. ~/.pam_environment. قائمة المهام الفريدة. يتم التحميل بواسطة PAM في بداية كل جلسة مستخدم غير ذي صلة إذا كانت جلسة نظام X Window أو Shell. لا يمكنك الرجوع إلى متغير آخر بما في ذلك HOME أو PATH لذلك يكون له استخدام محدود.
  2. ~/.xprofile شل النصي. يتم تنفيذ هذا عندما يسجل المستخدم الدخول إلى نظام X Window System. المتغيرات المعرفة هنا مرئية لكل تطبيق X. الاختيار الأمثل لتمديد PATH بقيم مثل ~/bin أو ~/go/bin أو تعريف المستخدم GOPATH أو NPM_HOME الخاص بالمستخدم. يتم تضمين الملف بواسطة برنامج نصي آخر ، لذا استخدم بناء جملة POSIX Shell وليس بناء جملة المستخدم Shell. سيرى محرر النصوص الرسومية الخاص بك أو IDE الذي بدأ باختصار تلك القيم.
  3. ~/.profile شل النصي. سيكون مرئيًا فقط للبرامج التي بدأت من المحاكي الطرفي أو الطرفي. إنه اختيار جيد لأنظمة Shell فقط.
  4. ~/.<Shell>rc. شيل. هذا اختيار سيء لأنه مخصص لشركة شل.

توزيع وثائق محددة

141
Grzegorz Żur

ضع إعلان export في ~/.bashrc. يحتوي بلدي .bashrc على هذا:

export PATH=/var/lib/gems/1.8/bin:/home/fraxtil/.bin:$PATH
68
Fraxtil

يمكنك ضبط $PATH نهائيًا بطريقتين.

  1. لتعيين مسار مستخدم معين: قد تحتاج إلى إنشاء الإدخال في .bash_profile في الدليل الرئيسي في المستخدم.

    على سبيل المثال ، في حالتي ، سأقوم بتعيين مسار Java في ملف تعريف مستخدم Tomcat

    [Tomcat]$ echo "export PATH=$PATH:/path/to/dir" >> /home/Tomcat/.bash_profile
    
  2. لتعيين مسار مشترك لجميع مستخدمي النظام ، قد تحتاج إلى تعيين مسار مثل هذا:

    [root~]# echo "export PATH=$PATH:/path/to/dir" >> /etc/profile
    
29
Mohit M

يمكنك استخدام Centos أو RHEL للمستخدم المحلي:

echo $"export PATH=\$PATH:$(pwd)" >> ~/.bash_profile

هذا إضافة الدليل الحالي (أو يمكنك استخدام دليل آخر) إلى PATH ، وهذا يجعلها دائمة ولكن نافذة المفعول عند تسجيل دخول المستخدم التالي.

إذا كنت لا تريد إعادة تسجيل الدخول ، فيمكنك استخدام:

source ~/.bash_profile

التي تعيد تحميل # User specific environment and startup programs هذا التعليق موجود في .bash_profile

12
Daniel Antonio Nuñez Carhuayo

يمكنك أيضًا التعيين بشكل دائم ، وتحرير أحد هذه الملفات:

/etc/profile (لجميع المستخدمين)

~/.bash_profile (للمستخدم الحالي)

~/.bash_login (للمستخدم الحالي)

~/.profile (للمستخدم الحالي)

يمكنك أيضًا استخدام /etc/environment لتعيين متغير بيئة PATH دائم ، لكن لا يدعم توسيع المتغير .

مستخرج من: http://www.sysadmit.com/2016/06/linux-anadir-ruta-al-path.html

9
Delucaramos

يمكنك إضافة هذا السطر إلى ملف تكوين وحدة التحكم الخاصة بك (على سبيل المثال .bashrc) ، أو إلى ملف .profile

6
aqua

أعتقد أن الطريقة الأكثر أناقة هي:

1. إضافة هذا في ملف ~/.bashrc قم بتشغيل هذا الأمر

gedit ~/.bashrc

أضف طريقك بداخله

تصدير PATH = $ PATH:/opt/node/bin

2. المصدر ~/.bashrc

(أوبونتو)

6
Himanshu sharma

تعثرت في هذا السؤال أمس عند البحث عن طريقة لإضافة مجلد يحتوي على البرامج النصية الخاصة بي إلى PATH - وفوجئت بمعرفة أن ملف ~/.profile الخاص بي (على Linux Mint 18.1) يتضمن بالفعل هذا:

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi

وبالتالي ، كل ما كان علي فعله هو إنشاء المجلد ~/bin ووضع البرامج النصية هناك.

5
RobertG

إضافة متغير PATH بشكل دائم

العالمية:

echo "export PATH=$PATH:/new/path/variable" >> /etc/profile

محلي (للمستخدم فقط):

echo "export PATH=$PATH:/new/path/variable" >> ~/.profile

ل العالمية إعادة التشغيل. ل المحلية إعادة تسجيل الدخول.

مثال

قبل:

$ cat /etc/profile 

#!/bin/sh

export PATH=/usr/bin:/usr/sbin:/bin:/sbin

بعد:

$ cat /etc/profile 

#!/bin/sh

export PATH=/usr/bin:/usr/sbin:/bin:/sbin
export PATH=/usr/bin:/usr/sbin:/bin:/sbin:/new/path/variable

بدلاً من ذلك ، يمكنك فقط تعديل الملف الشخصي:

$ cat /etc/profile 

#!/bin/sh

export PATH=/usr/bin:/usr/sbin:/bin:/sbin:/new/path/variable

طريقة أخرى (شكرا gniourf_gniourf):

echo 'PATH=$PATH:/new/path/variable' >> /etc/profile

يجب أن لا تستخدم اقتباسات مزدوجة هنا! echo 'export PATH = $ PATH:/new/path/variable' ... وبالمناسبة ، من المرجح جدًا أن تكون الكلمة الرئيسية للتصدير عديمة الفائدة لأن متغير PATH من المحتمل جدًا أنه تم تصديره بالفعل. - gniourf_gniourf

3
user3439968

تعتمد الملفات التي أضفت بها أمر التصدير إذا كنت في وضع تسجيل الدخول أو في وضع عدم تسجيل الدخول.

إذا كنت في وضع تسجيل الدخول ، فإن الملفات التي تبحث عنها هي إما/etc/bash أو /etc/bash.bashrc

إذا كنت في وضع عدم تسجيل الدخول ، فأنت تبحث عن الملف/الملف الشخصي أو الملفات الموجودة في الدليل/.profiles.d

الملفات المذكورة أعلاه إذا كانت متغيرات النظام.

3
Dikinha

Zues77 لديه الفكرة الصحيحة. لم يقل البروتوكول الاختياري "كيف يمكنني اختراق طريقي من خلال هذا". أراد OP معرفة كيفية إلحاق PATH $ نهائيًا:

Sudo nano /etc/profile

هذا هو المكان المخصص لكل شيء وهو أفضل مكان لتغييره لكل الأشياء التي تحتاج إلى PATH $

3
Joe D

إجابتي تشير إلى إعداد go-lang في Ubuntu linux/AMD64. لقد واجهت نفس المشكلة في تعيين مسار متغيرات البيئة (GOPATH و GOBIN) ، وفقدانه عند الخروج الطرفي وإعادة بنائه باستخدام source <file_name> في كل مرة. كان لوضع المسار (GOPATH و GOBIN) في مجلد ~/.bash_profile. بعد تضييع بضع ساعات جيدة ، وجدت أن الحل هو وضع GOPATH و GOBIN في ملف ~/.bash_rc بالطريقة:

export GOPATH=$HOME/go
export GOBIN=$GOPATH/bin
export PATH=$PATH:$GOPATH:$GOBIN

والقيام بذلك ، عملت التثبيت go بشكل جيد ولم تكن هناك خسائر المسار.

التعديل 1: السبب الذي يمكن أن ترتبط به هذه المشكلة هو أن إعدادات الأصداف غير تسجيل الدخول مثل محطة أوبونتو أو محطة جنوم حيث نقوم بتشغيل كود الانتقال مأخوذة من ملف ~./bash_rc وأن إعدادات أصداف تسجيل الدخول مأخوذة من ملف ~/.bash_profile ومن ملف ~/.profile إذا كان الملف ~/.bash_profile غير قابل للوصول.

3
Abhiroj Panwar

أضف إلى /etc/profile.d script script [name_of_script].sh with line: export PATH=$PATH:/dir. يتم تنفيذ كل نص برمجي ضمن مجلد /etc/profile.d تلقائيًا بواسطة /etc/profile عند تسجيل الدخول.

2
Iurii

أعتقد أن الطريقة الأكثر أناقة هي:

1. أضف هذا في ~./bashrc ملف

if [ -d "new-path" ]; then
  PATH=$PATH:new-path
fi

2. المصدر ~/.bashrc

(أوبونتو)

1
Gimcuan Hui

أفضل طريقة بسيطة هي السطر التالي:
PATH="<directory you want to include>:$PATH"
في ملف .bashrc في الدليل الرئيسي.
لن تتم إعادة ضبطه حتى إذا أغلقت الجهاز أو أعدت تشغيل الكمبيوتر. لها دائم

1
Edward Torvalds

1. قم بتعديل ملف "/ etc/profile".

#vi /etc/profile

اضغط على مفتاح "i" لإدخال حالة التحرير ونقل المؤشر إلى نهاية الملف ، إدخالات إضافية :

export PATH=$PATH:/path/to/dir;

اضغط على المفتاح "Esc" للخروج من حالة تحرير ، ': wq' احفظ الملف.

2. جعل التكوين فعالة

source /etc/profile

يعمل ملف تعريف الشرح for لجميع المستخدمين ، إذا كنت تريد أن تكون صالحة فقط للمستخدم النشط ، قم بتعيين ملف ".bashrc"

1
Jia

لتوزيع دبيان ، عليك:

    - edit ~/.bashrc  e.g: vim ~/.bashrc 
    - add export PATH=$PATH:/path/to/dir
    - then restart your computer. Be aware that if you edit ~/.bashrc  as root, your environment variable you added will work only for root
0
onlyme

إحدى الطرق لإضافة مسار دائم ، والتي عملت بالنسبة لي ، هي: cd /etc/profile.d سوف هناك هتافات دائمة.

0
user6393373

التثبيت السريع باستخدام Homebrew

التحقق من هذا الفيديو

أو

الخطوات أدناه

Step 1:

فتح https://brew.sh/

 enter image description here

نسخ theURLالتي تظهر في لقطة الشاشة أعلاه

/usr/bin/Ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

لصق نسخURLفي محطة وضرب مفتاح العودة/إدخال

بمجرد قيامك بالقيام مع تثبيت البيرة متابعة الخطوة 2:

Step 2: تنزيل terraform من https://www.terraform.io/downloads.html

استخراج تنزيل ملف مضغوط Zip

الآن سيكون لديك اسم ملف واحد terraform في المجلد الذي تم تنزيله

على سبيل المثال

/Users/username/downloads/terraform

Step 3:

افتح terminal

cd: تغيير الدليل إلى /Users/username/downloads/terraform

Step 4:

المدى brew install terraform في المحطة

0
Munish Kapoor