Paano Magdagdag ng isang Direktoryo sa PATH sa Linux

How Add Directory Path Linux



Ang PATH ay isang paunang natukoy na variable sa isang shell ng Linux. Binubuo ito ng mga direktoryo sa kanilang mga path ng direktoryo, simula sa root. Ang PATH ay isang listahan na pinaghiwalay ng colon. Ang bawat direktoryo na may landas nito ay pinaghiwalay mula sa naunang direktoryo kasama ang daanan nito ng isang colon. Ang shell ay naghahanap ng mga utos sa mga direktoryo na ito.

Ang mga utos ay hindi lamang mga utos ng operating system ng disk. Ang landas ay isang listahan ng mga direktoryo kung saan naghahanap ang shell ng mga utos ng operating system, at iba pang mga utos. Ang mga utos ay tulad ng mga maiikling file ng programa. Kaya, ang mga utos ay maipapatupad. Ang bawat application na naka-install sa computer ay mayroong isang maipapatupad na file. Upang mapatakbo ang application, ang maipapatupad na file ay nakikibahagi muna. Ang mga maipapatupad na file ay tinatawag ding mga utos.







Nang walang variable na PATH, ang bawat utos ay aatasan ng ganap na landas, tulad ng sa,



/home/john/dir1/dir2/command.exe



kung saan ang una / ay ang direktoryo ng ugat; Si john ay ang direktoryo ng gumagamit para sa gumagamit, John; dir1 at dir2 ay mga sub-direktoryo; at ang command.exe ay ang pangalan ng maipapatupad na file.





Maraming iba pang mga pangalan ang posible para sa maipapatupad na file. Sa katunayan, ang command.exe ay simbolo, narito. Kaya, kung ang direktoryo, / home / john / dir1 / dir2 (nang walang file), ay nasa variable na PATH, ang user na si john, ay isasagawa ang command.exe sa prompt, [protektado ang email]: ~ $ sa pamamagitan lamang ng pagta-type, command.exe, nang walang naunang daanan. Yan ay:

[protektado ng email]: ~ $command.exe

at pagkatapos ay pagpindot sa Enter.

Upang makita ang kasalukuyang listahan ng mga direktoryo ng PATH sa computer, i-type ang:

$itinapon $ PATH

at pindutin ang Enter, sa terminal. Ang resulta ay magiging isang bagay tulad ng,

/ usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: / sbin: / bin: / usr / games: / usr / local / games: / snap / bin

Ang tanong ngayon ay: paano ang isang direktoryo (at ang naunang landas nito), naidagdag sa variable na PATH? Sa ilang mga pag-install, awtomatikong idinagdag ang direktoryo. Sa iba pa, kailangan itong idagdag nang manu-mano. Ipinapaliwanag ng artikulong ito ang dalawang pangunahing paraan, kung saan idinagdag ang direktoryo. Ang direktoryo ay hindi naidagdag (kasama) tulad ng gagawin sa isang array. Ang dalawang pangunahing paraan ay tinukoy bilang Pansamantalang Pagdaragdag at Permanenteng Dagdag. Ang Bash ay ang shell na ginamit para sa mga halimbawa ng code sa artikulong ito.

Nilalaman ng Artikulo

Pansamantalang Karagdagan

Pansamantalang pagdaragdag ay nangangahulugang ang pagdaragdag ay nagaganap lamang sa memorya. Hindi ito nai-save para magamit kapag na-reboot ang computer.

Ang Bourne Shell Built-in Export Command

Sa simpleng mga termino, ang utos ng pag-export ay:

$i-export [pangalan[= halaga]]

Sa kasong ito, muling nagbibigay ng halaga sa isang variable sa memorya.

Ang variable na PATH sa memorya ay maaaring may halaga tulad ng,

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

Ipagpalagay na ang idaragdag na direktoryo ay / home / john / dir1 / dir2. Kung ang utos sa pag-export ay nai-type bilang,

$i-export PATH=/bahay/john/dir1/dir2

pagkatapos / bahay / john / dir1 / dir2 ay papalitan ang lahat kung ano ang nasa memorya bilang halaga para sa variable na PATH.

Kung ang utos sa pag-export ay nai-type bilang,

$i-export PATH=$ PATH:/bahay/john/dir1/dir2

Pagkatapos, / bahay / john / dir1 / dir2 ay ikakabit ang sarili sa dulo ng kung ano ang nasa variable. Kaya, ang bagong variable ay:

PATH = / usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: / sbin: / bin: / usr / games: / usr / local / games: / snap / bin: / tahanan / john / dir1 / dir2

Pansinin na sa nakaraang linya ng code sa itaas, ang bahagi ng halagang nandiyan na ay nahihiwalay mula sa bagong bahagi sa isang colon, na kung saan ay ‘:’. $ PATH sa linya ng code, nagpapalawak (pinalitan) ng halaga ng PATH na nasa memorya.

Ngayon, ang parehong utos ay maaaring nasa higit sa isang direktoryo. Kapag ang isang maipapatupad na utos ay nai-type nang walang naunang landas sa prompt, ang shell ay nagsisimulang maghanap ng halaga (string) ng variable na PATH sa memorya, mula kaliwa hanggang kanan. Kaya, sa linya sa itaas ng code, / home / john / dir1 / dir2 ay darating sa wakas, sa paghahanap. Sino ang nais na huling dumating ang kanyang direktoryo? - Walang tao. Kaya, isang mas mahusay na paraan upang maisama (idagdag) ang direktoryo, ay ang mga sumusunod:

$i-export PATH=/bahay/john/dir1/dir2:$ PATH

/ home / john / dir1 / dir2 ay nasa simula na, hiwalay mula sa susunod na direktoryo, na may isang colon. Kaya, na may isang prompt ng [protektado ng email]: ~ $,

[protektado ng email]: ~ $i-export PATH=/bahay/john/dir1/dir2:$ PATH

pagkatapos ng pag-type at pagpindot sa Enter, ang utos, command.exe sa direktoryo, dir2, ay naisakatuparan ng:

[protektado ng email]: ~ $command.exe

Hangga't ang computer ay hindi nakasara, ang gumagamit ay magpapatuloy na magpatupad ng command.exe nang hindi na-type ang naunang landas.

Kapag ang computer ay nakasara, ang lahat sa random-access-memory ay mabubura. Ang masamang balita ay kailangang ulitin ng gumagamit ng computer ang prosesong ito ng pagdaragdag ng kanyang direktoryo sa variable na PATH sa tuwing reboot ang computer. Walang nais na gawin iyon ngayon. Kaya, ang Permanenteng Pagdaragdag na diskarte ay ang inirekumendang diskarte. Iyon ay, ang karagdagan sa PATH, kailangang mai-save (sa hard disk).

Permanenteng Karagdagan

Mula sa talakayan sa itaas, ang ideya ay i-save ang ginawang pagbabago (sa hard disk). Kaya, kung ang pagbabago ay nai-save sa isang file na shell basahin sa bawat oras na ang computer ay bota, iyon ay mabuti. Iyon ay, sa tuwing ang mga bota ng computer, ang variable ng PATH sa memorya ay maa-update nang naaangkop. Kapag nagsimula ang isang computer, sa pag-boot, nagbabasa ito ng ilang mga file. Ang isa sa mga file na binabasa ng Bash shell para sa Linux ay, ~ / .bashrc. Ang pangalan ng file ay. bashrc , nagsisimula sa tuldok. Nasa direktoryo ito ng gumagamit.

Ang Bash ay isang shell lamang, marahil ang pinakatanyag na shell para sa Linux, ngayon. Ang isa pang shell para sa Linux ay Zsh. Sa Zsh, ang kaukulang file ay ~ /. zshrc , nasa direktoryo pa rin ng gumagamit. Kapag nagsimula ang shell, sa pag-boot, binabasa nito ang file na ito. Para kay Bash, ang file ay, ~ / .bashrc. Kaya, kung ang code ng karagdagan sa itaas ay nai-type sa ~ / .bashrc file, ang direktoryo ay laging nasa memorya, dahil ang ~ / .bashrc ay palaging isasama sa PATH, sa tuwing ang mga bota ng computer. Nananatili ito sa memorya, hanggang sa masara ang computer.

Sa Bash, ~ / .bashrc ay isang nakatagong file, kaya ang ordinaryong paggamit ng utos, hindi ito ipapakita ng ls. Naglalaman ang ~ / .bashrc ng ilang mga utos ng Bash (shell). Ang Ubuntu ay isang variant ng Linux. Ang Ubuntu ay may kasamang isang text editor. Sa computer ng may-akda, ang background ng editor ng teksto ng Ubuntu ay itim.

Ang utos ng karagdagan sa itaas (nang walang prompt) ay dapat na isama sa ~ / .bashrc file. Mahusay na idagdag ito sa dulo ng file upang hindi magalit sa magagamit na nilalaman, malamang na gumagana ito nang maayos.

Upang buksan ang ~ / .bashrc sa Ubuntu, i-type ang sumusunod sa command prompt sa terminal, at pindutin ang Enter:

$nano~/.bashrc

Kung saan nano ang text editor. Dito, ang nano ay isang utos (maipapatupad), na ang argumento ay, ~ / .bashrc. Ang nilalaman ng file ay dapat buksan sa text editor upang mai-overlay ang window ng terminal.

Ang ~ / .bashrc file ay magbubukas sa text editor, marahil ay may isang itim na background. Ang cursor ay mai-flash sa tuktok na kaliwang sulok.

Patuloy na pindutin ang down-arrow key sa keyboard hanggang sa maabot ng cursor ang dulo ng file. Magdagdag ng isang bagong linya ng,

$i-export PATH=/bahay/john/dir1/dir2:$ PATH

Hindi lang yun. Ang pagbabago sa ~ / .bashrc file ay hindi nai-save. Upang mai-save ang file sa pamamagitan ng pagbabagong nagawa, pindutin ang Ctrl + o, at sundin ang anumang iba pang mga tagubiling lilitaw. Upang lumabas sa text editor, pindutin ang Ctrl + x, at dapat palitan ng normal na window ng terminal ang window ng text editor. Ang iba pang mga utos ng shell ay maaaring mailabas.

Kung ang echo $ PATH ay inisyu, ang bagong direktoryo ay hindi makikita sa display. Mayroong dalawang mga paraan upang magpatuloy mula dito: alinman sa pag-reboot ng computer, o makuha ang mga bagong nilalaman ng ~ / .bashrc file sa memorya gamit ang utos ng mapagkukunan. Ito ay simpleng gamitin ang source command, tulad ng sumusunod:

$pinagmulan~/.bashrc

Kung ang utos ng mapagkukunan ay inisyu nang walang pag-reboot, pagkatapos ay ipapakita ng echo $ PATH ang bagong direktoryo na idinagdag sa resulta (display). Ang utos ng interes ay maaaring nai-type nang wala ang naunang daanan.

Tandaan: Huwag malito sa pagitan ng pagtatapos ng halaga ng PATH (listahan) at ang pagtatapos ng ~ / .bashrc file. Gayundin, huwag malito sa pagitan ng isang direktoryo sa PATH sa memorya, at isang maipapatupad na file sa direktoryo sa hard disk.

Konklusyon

Ang PATH ay isang built-in na variable sa mga shell ng Linux. Ang halaga ng PATH ay isang listahan ng mga direktoryo na pinaghihiwalay ng mga colon. Mayroong isang utos (maipapatupad na file) sa hard disk para sa bawat isa sa mga direktoryo na ito. Kung ang isang utos ay inisyu sa pagbebenta nang hindi nauuna ito sa isang landas, titingnan ng shell ang mga direktoryo na ito para sa utos. Kung hindi nito nakikita ang utos sa alinman sa mga direktoryo, pagkatapos ay hindi isasagawa ang utos. Sa kasong ito, upang maipatupad ang utos, ang utos ay dapat na mauna sa landas nito. Ang utos ay maaaring nasa higit sa isang direktoryo sa halaga ng PATH. Sa sandaling makita ng shell ang unang direktoryo na mayroong utos, isinasagawa nito ang utos. Ang halaga ng PATH ay talagang isang string na binubuo ng mga direktoryo na pinaghihiwalay ng mga colon.

Ang problema ay kung paano idagdag ang direktoryo para maipapatupad ng isang bagong application sa PATH. Sa ilang mga kaso, awtomatiko itong ginagawa ng pag-install ng programa ng bagong application. Sa ibang mga kaso, kailangan itong gawin nang manu-mano. Mayroong dalawang paraan ng paggawa nito nang manu-mano, tinukoy bilang: Pansamantalang Dagdag at Permanenteng Dagdag. Ang Pansamantalang Karagdagan ay gumagamit ng utos na pag-export at idaragdag lamang ang direktoryo habang nakabukas ang computer. Ang Permanenteng Dagdag ay kailangang i-save ang linya ng pag-export ng utos sa ~ / .bashrc initialization file (Bash) para sa mga pagpapatakbo sa hinaharap.