Tambahkan program ke jalur secara permanen di Ubuntu 14.04 [ditutup]

0

Saya mencoba untuk menyelesaikan "bagaimana cara menambahkan path secara permanen" menggunakan ubuntu 14.04. Jika saya memiliki program katakan samtools-1.2bahwa saya ingin menambahkan ke path saya pikir saya akan melakukannya:

export PATH=$PATH:home/cmccabe/Desktop/NGS/samtools-1.2 >> .bashrc

Kemudian untuk memverifikasi:

cat ~/.bashrc
justaguy
sumber
4
Cobalah dan lihatlah. Juga, apa pertanyaanmu?
Steven

Jawaban:

0

Untuk mencapai ini, Anda akan ingin membuat file baru /etc/profiles.d/dengan nama apa pun yang Anda inginkan tetapi pastikan itu berakhir dengan .shmisalnya ... samtools.shkemudian di dalam file tempatkan yang berikut:

#!/bin/sh
export PATH=$PATH:/home/cmccabe/Desktop/NGS/samtools-1.2

Setelah itu, Anda ingin menjalankan source /etc/profilemelalui baris perintah.

Catatan: export PATH=$PATH:home/cmccabe/Desktop/NGS/samtools-1.2tidak ada garis miring setelah :karakter.

Fred
sumber
0

Jawaban yang lebih pendek.

Jadi, apakah Anda 100% yakin Anda tahu apa yang Anda lakukan di sini bahkan jika perintah itu berfungsi? Karena bagi saya, menambahkan direktori pada Desktop pengguna secara permanen ke sistem PATH nampak sedikit aneh bagi saya. Hal-hal seperti ini seharusnya hanya diinstal sebagai penginstalan seluruh sistem menggunakan sudo make installsetelah kode sumber dikompilasi.

Yang mengatakan, inilah uraian saya tentang apa yang Anda coba lakukan, mengapa itu tidak berhasil, apa yang bisa dilakukan untuk memperbaikinya dan melewati itu — seperti yang baru saja saya katakan — mengapa ini bukan ide yang bagus.

Jawaban yang lebih panjang.

Pertama, perintah ini tidak akan melakukan apa pun:

export PATH=$PATH:home/cmccabe/Desktop/NGS/samtools-1.2 >> .bashrc

Itu mencampur beberapa konsep secara tidak benar.

  • Pertama, jika Anda memulai perintah dengan export PATH=dan semua yang akan dilakukan adalah menetapkan PATHnilai baru .
  • Berikutnya, jalan Anda menambahkan salah: home/cmccabe/Desktop/NGS/samtools-1.2. Jika ada yang seharusnya /home/cmccabe/Desktop/NGS/samtools-1.2; perhatikan garis miring di depan jalan itu.
  • Akhirnya >> .bashrcini agak benar tetapi apa yang terjadi sebelum itu sangat salah tidak masalah. The >>memberitahu Bash untuk menambahkan apa yang mendahuluinya untuk .bashrc. Dan karena perintah pertama adalah export PATH=, itu tidak menghasilkan apa-apa. Jadi semua yang ditambahkan .bashrcadalah baris kosong. Dan .bashrcharus direktori home pengguna Anda jadi pastikan untuk prepend ~/ke nama seperti ini: ~/.bashrc.

The nyata perintah jika ini adalah apa yang Anda ingin perintah menjadi akan menjadi sesuatu seperti ini; tapi tolong jangan jalankan:

echo export PATH=$PATH:/home/cmccabe/Desktop/NGS/samtools-1.2 >> ~/.bashrc

Kuncinya di sini adalah echoyang hanya akan mencetak apa pun yang mengikutinya — tanpa bertindak atasnya — ke .bashrc. Dan kemudian Anda akan menjalankan source ~/.bashrcdan jika Anda menjalankannya echo $PATHharus siap.

Semua yang dikatakan, ini sepertinya bukan ide yang bagus.

Ini adalah sistem Anda, jadi lakukan sesuai keinginan Anda. Tetapi melihat apa samtools-1.2itu, itu hanya kode sumber untuk program tersebut. Jika Anda mengkompilasinya maka mungkin pengaturan PATH /home/cmccabe/Desktop/NGS/samtools-1.2akan masuk akal. Tetapi meskipun demikian cara terbaik untuk menangani binari adalah menginstalnya pada sistem sudo make installyang akan menempatkan semua file terkait di tempat yang benar dan kemudian hanya menginstal samtoolsbiner /usr/local/binyang seharusnya sudah menjadi bagian dari PATH Anda.

Yang mengatakan, jika Anda hanya melakukan kompilasi dasar samtools-1.2dan ingin mengujinya, maka pengaturannya untuk menunjuk ke direktori di desktop pengguna Anda masuk akal. Tetapi melewati semua itu, pertanyaan Anda adalah tentang menambahkan program secara permanen ke jalur Anda. Dan dalam hal ini saya tidak akan merekomendasikan Anda untuk secara permanen menambahkan direktori pada desktop pengguna ke PATH Anda. Risiko kehilangan sesuatu yang duduk di desktop Anda terlalu besar.

JakeGould
sumber