Di mana saya mengatur PATH bash saya?

9

Saya ingin menghapus ~/bindari PATH saya. Saya mengaturnya beberapa bulan yang lalu ketika Linux (Ubuntu) masih sangat baru bagi saya, tetapi saya tidak tahu bagaimana saya menambahkannya ...

Tidak ada yang muncul ketika saya mencari semua file yang tercantum di bawah ini.
Di mana lagi bisa diatur? Itu sedang ditangguhkan setelah $HOME/.profileawalan PATH dengan$HOME/bin

Jika ada bedanya, saya mendapatkan PATH yang sama dari command-prompt dan script yang sedang berjalan.

#!/bin/bash
{
  echo "first dir of PATH is: '${PATH%%:*}'"
  shopt -s nullglob
  cat \
    /etc/profile \
    /etc/bash.bashrc \
    /etc/profile.d/*.sh \
    $HOME/.bashrc \
    $HOME/.bash_aliases \
    /etc/bash_completion \
    $HOME/.bash_completion* \
    $HOME/.profile \
    $HOME/.profile_zap \
    $HOME/.bash_profile* \
    $HOME/.bash_login* \
  | sed -rne '/~\/bin/p'
}

Output adalah:

first dir of PATH is: '~/bin'
Peter.O
sumber
Cobalah untuk menerima PATHgantinya. Jika masih tidak berhasil, periksa semua file untuk apa pun yang bersumber.
jw013
Apakah Anda memeriksa ~ / .bashrc dan ~ /. Profil Anda untuk itu? Jika tidak melihat di / etc / profile. Saya pikir Anda akan menemukannya di salah satu tempat ini.
nikhil
Terima kasih semuanya ... semua saran telah membantu ... itu ada di ~/.gnomerc...
Peter.O

Jawaban:

10

Anda mungkin ingin melacak pemuatan lingkungan penuh saat login. Hanya sebuah ide.

Karena / etc / profile adalah file pertama bersumber, Anda dapat menambahkannya di bagian paling atas:

set -x
exec 2> /tmp/debug.log

Kemudian buka terminal baru dan lakukan bash -l; setelah itu pergi ke terminal asli dan hapus baris yang ditambahkan (Anda ingin memiliki lingkungan kerja, bukan?).

Anda harus mengakhiri dengan jejak penuh dari semua langkah dari loading_the_bash_environment di /tmp/debug.log. Ini akan menjadi file loooong.

Dengan itu Anda harus dapat menemukan di mana "~ / bin" masuk ke PATH Anda

Saya akan mencari grep pertama dari semua file yang bersumber. Dari posting Anda, saya bertaruh bahwa ~ / bin di path diatur dalam file yang berbeda dari yang Anda daftarkan.

hmontoliu
sumber
@hmontoliu .. Saya punya beberapa masalah dengan ini .. Pertama, tidak ada yang masuk ke log, tapi saya mendapatkan banyak output di terminal ( konsole) ... Referensi pertama untuk ~/binmenunjukkannya sudah ada di path, tapi saya tidak bisa melihat petunjuk dari mana asalnya .. Ini, pada titik ini, sudah diikuti oleh $HOME/bindari $HOME/.profile(saya yakin itu dari sana, karena saya telah menggunakan direktori tambahan khusus untuk tes ini). ... Howerver, saya sudah berhasil menemukannya secara empiris, dengan mencari semua file teks saya .. Itu berasal dari ~/.gnomerc.. dan saya perlu masuk kembali untuk membuatnya berubah. ?? !! ..
Peter.O
Apakah Anda yakin telah menempelkan baris di atas / etc / profile dan bahwa Anda mengeksekusinya dengan jelas bash -l? Itu harus mengirim debugging (-x) yang menuju stderr ke /tmp/debug.log; memang saya baru saja menguji ini dan berfungsi seperti yang saya harapkan
hmontoliu
Saya akan coba lagi (lagi) ... Analisis log ini jelas merupakan cara untuk pergi (ketika semuanya gagal :) dan ini adalah kesempatan baik bagi saya untuk mendapatkan pemahaman yang lebih baik tentang itu ...
Peter.O
... Saya harus memasukkan masalah log ini ke dalam keranjang yang terlalu sulit untuk saat ini .. Masih tidak menghasilkan ke logfile, tapi saya punya ratusan baris di terminal .. tapi tidak apa-apa .. Sudah intro yang bagus untuk log debug .. dan saya sudah pasti merasa jauh lebih baik dari file konfigurasi ... terima kasih ...
Peter.O
3
Saya harus mengganti setdengan execdi baris kedua, maka itu bekerja dengan baik untuk saya :)
thomasa88