Apa arti $ PATH?

28

Saya mencoba menginstal sesuatu dan di antara langkah-langkah ini ada yang ini:

"Letakkan di atasmu $PATH"

Apa artinya ini? Apa itu?

Saya telah mencari situs ini dan di Google tetapi semua orang menganggapnya sebagai hal yang biasa!

Adam
sumber
2
@muru Tidak, saya sudah membaca pertanyaan itu dan tidak ada hubungannya dengan saya. Pertanyaan ini juga tidak membantu sama sekali.
Adam
4
@muru Saya pikir pertanyaannya bukan tentang bagaimana menambahkan (atau saya mungkin salah paham apa yang dimaksud dengan "Letakkan di $ PATH Anda").
Jacob Vlijm
1
@ JacobVlijm Anda benar bukan.
Adam
2
Saya melihat. Baik. Terkait; askubuntu.com/q/141718/158442
muru

Jawaban:

24

Jalankan di terminal:

echo $PATH

atau

printf "%s\n" "$PATH"

apa yang Anda lihat adalah daftar direktori, seperti:

/home/jacob/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

Jika Anda meletakkan executable di salah satu direktori ini, Anda tidak perlu mengatur path ke executable / script, tetapi Anda dapat menjalankannya dengan namanya sebagai perintah.

Para eksekutif di $PATHseharusnya tidak memiliki ekstensi bahasa dengan konvensi (meskipun mereka akan bekerja)

Mengedit variabel $ PATH Anda

Anda dapat (secara permanen) menambahkan direktori ke $PATHdengan menambahkan baris berikut ke ~/.profilefile Anda (tidak terlihat secara default, tekan Ctrl+ Hpada manajer file untuk membuatnya terlihat):

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

Informasi yang lebih berguna tentang variabel lingkungan

(misalnya $PATH) dapat ditemukan di sini (terima kasih atas saran @Letizia)

Yakub Vlijm
sumber
kami dapat menyarankan cara mengubahnya di .bashrc PATH = $ PATH: / path / you / want, atau di .profile, bagaimana menurut Anda?
Lety
dan ini adalah tautan yang berguna untuk pemula
Lety
@Lizia Saya lebih suka yang pertama. Apakah Anda menghapus jawaban Anda? kami cukup banyak pada saat yang sama. kita bisa membuat kombinasi yang tersebar dengan baik :)
Jacob Vlijm
Ya, saya sudah selesai, jawaban saya dihapus dan saya pikir itu berkontribusi lebih baik untuk Anda. Apa pendapat Anda tentang komentar saya?
Lety
@Letizia comment = sempurna, saya akan edit. Terima kasih!
Jacob Vlijm
6

$PATHadalah variabel lingkungan terkait lokasi file .

Ketika seseorang mengetik perintah untuk dijalankan, sistem mencarinya di direktori yang ditentukan PATHdalam urutan yang ditentukan.

Anda dapat melihat direktori yang ditentukan dengan mengetik echo $PATHdi terminal.

Misalkan ada file yang dapat dieksekusi foobar01.shdi /home/user/foo1/foo2/foobar01.shmana Anda ingin mengeksekusi secara teratur. mengetik seluruh "jalan" akan memakan waktu. Jadi kami menambahkan direktori ke $PATHvariabel dan kami dapat mengeksekusi foobar.shlangsung tanpa menentukan path.

Anda dapat menambahkannya $PATHdengan mengetik perintah berikut

export PATH=$PATH:/home/user/foo1/foo2

astrob0t
sumber
2

Saya berasumsi Anda berasal dari latar belakang Windows (permintaan maaf jika itu tidak benar). Dalam istilah awam, lintasan (atau lintasan pencarian) adalah daftar direktori yang akan dicari apa pun yang Anda ketikkan pada baris perintah. Jika Anda mengetikkan perintah bawaan seperti ls, itu akan mencari daftar direktori yang ditentukan. Anda dapat mencari jalan Anda dengan mengetik echo $ PATH. Berikut adalah satu perbedaan antara Windows dan * nix: Secara default, Windows selalu mencari file yang dapat dieksekusi di direktori saat ini. Misalnya, jika Anda memiliki file bernama uptime.bat di c: \ myscripts, dan Anda cd c: \ myscripts dan ketik uptime, itu akan berjalan. Namun, dalam * nix, jalan akan dikonsultasikan dan dieksekusi ditemukan (jika tersedia).

Jika Anda menyimpan skrip Anda di direktori bernama / home / teresa / scripts, untuk mengeksekusi skrip tersebut, Anda harus menentukan path lengkap ke direktori tersebut. Contoh: / asah / teresa / checkHost. Variasi akan menjadi cd / home / teresa dan kemudian ketik ./checkHost (perhatikan ./ yang berarti bahwa Anda secara eksplisit meminta file untuk dijalankan dari direktori saat ini.

Untuk menghindari ini, Anda cukup mengetik

export PATH = $ PATH: / home / teresa / scripts

yang berarti bahwa, selain jalan yang sudah ada sekarang, juga mencari di / mengasah / teresa / skrip. Namun, masalah dengan ini adalah bahwa begitu Anda keluar, pengaturan ini akan hilang. Jadi, Anda harus mengedit file tersembunyi ~ / .bashrc, temukan baris PATH di sana, dan tambahkan sesuai. Saya berasumsi Anda menggunakan bash. Dalam kasus kerang lain, sintaks dan file berbeda.

Sebagai pengguna baru, sangat menggoda untuk memilikinya. di jalur pencarian, yang pada dasarnya berarti juga mencari di direktori saat ini. Namun, itu tidak dianggap praktik yang baik karena alasan yang dibahas di tempat lain.

HTH

Melompat Kelinci
sumber