GNU/Linux >> Belajar Linux >  >> Linux

Perintah Tidak Ditemukan di Bash Tetap

Setiap administrator sistem mendapatkan kesalahan ini setidaknya satu kali di shell :“bash :command not found “.

Namun, Anda cukup yakin bahwa Anda menulis perintah dengan benar, atau bahwa Anda telah menginstal alat yang sebenarnya Anda coba jalankan.

Jadi mengapa Anda mendapatkan kesalahan ini?

bash :perintah tidak ditemukan ” kesalahan dapat terjadi karena berbagai alasan saat menjalankan perintah di terminal Bash.

Hari ini, kita melihat berbagai cara untuk menyelesaikan “perintah tidak ditemukan ” kesalahan di Bash.

Konsep Bash &PATH

Sebelum memulai dengan solusi, penting untuk memiliki beberapa konsep tentang apa variabel lingkungan PATH adalah dan bagaimana itu terkait dengan perintah yang Anda jalankan.

PATH adalah variabel lingkungan yang mencantumkan direktori berbeda yang akan dikunjungi terminal bash Anda untuk menemukan utilitas pada sistem Anda.

Untuk melihat variabel lingkungan PATH Anda, cukup gunakan “echo ” dengan perintah PATH variabel.

$ echo $PATH

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

Seperti yang Anda lihat, PATH ditentukan oleh daftar jalur sistem berbeda yang dibatasi oleh titik dua.

Itu adalah jalur berbeda yang dikunjungi oleh penerjemah saya untuk menjalankan perintah.

Jika saya menghapus entri dari PATH, atau menghapus PATH secara bersamaan, Anda tidak akan dapat menjalankan perintah di bash tanpa menentukan seluruh jalur ke biner.

Ini adalah poin penting untuk dipahami karena tidak dapat menjalankan perintah tidak berarti biner Anda telah dihapus di sistem.

Sekarang setelah Anda memahami bagaimana variabel lingkungan terkait dengan penerjemah bash Anda, mari kita lihat bagaimana Anda dapat mengatasi kesalahan Anda.

Verifikasi bahwa file ada di sistem

Langkah pertama untuk mengatasi kesalahan ini adalah memverifikasi bahwa perintah yang Anda cari benar-benar ada di sistem.

Tidak ada gunanya melangkah lebih jauh jika Anda salah mengeja perintah atau jika Anda tidak menginstalnya sama sekali.

Katakanlah misalnya Anda tidak dapat menjalankan “ls " memerintah.

Verifikasi bahwa biner benar-benar ada dengan mencari biner pada sistem.

$ /usr/bin/find / -name ls 2> /dev/null

/bin/ls
/usr/lib/klibc/bin/ls

Dengan perintah find, Anda dapat menemukan biner beserta direktori penyimpanannya.

Ini cukup penting karena kita perlu menambahkan jalur ini ke variabel lingkungan PATH kita nanti.

Verifikasi variabel lingkungan PATH Anda

Sebagian besar waktu, Anda akan mengalami "bash :command not found ” setelah mengubah lingkungan PATH Anda untuk menambahkan entri baru.

Pertama, verifikasi bahwa jalur yang Anda telusuri sebelumnya tercantum dalam variabel lingkungan PATH Anda.

$ echo $PATH

/home/user/custom:/home/user

Seperti yang Anda lihat di sini, direktori “/bin” bukan tercantum dalam variabel lingkungan PATH saya.

Secara default, PATH didefinisikan dalam file “/etc/environment” untuk semua pengguna di sistem.

Jika variabel lingkungan PATH Anda berbeda dari yang ditentukan dalam file lingkungan, itu karena Anda telah mengganti PATH.

Sekarang Anda memiliki dua pilihan:apakah Anda tahu di mana Anda mengekspor variabel PATH atau tidak.

Memperbaiki skrip profil Anda:bashrc, bash_profile

Dalam sebagian besar kasus, Anda memodifikasi .bashrc atau .bash_profile file untuk menambahkan penggantian PATH Anda.

Untuk menelusuri tempat Anda mengekspor PATH , jalankan perintah berikut

$ /usr/bin/grep -rn --color "export PATH" ~/. 2> /dev/null

./.bashrc:121:export PATH="/home/devconnected"

Perintah ini mengembalikan file tempat PATH diekspor serta nomor baris.

Edit file ini dan tambahkan jalur dari bagian pertama ke pernyataan ekspor.

$ nano /home/user/.bashrc

export PATH="/home/devconnected:/bin"

Simpan file Anda dan keluar dari editor nano.

Agar perubahan diterapkan, Anda harus menggunakan terminal bash Anda saat ini.

Ini akan memastikan bahwa file .bashrc dieksekusi lagi di terminal shell saat ini.

$ source .bashrc

Mengapa Anda dapat mengeksekusi source tanpa harus menentukan path lengkapnya?

Karena "sumber" adalah perintah bawaan shell .

Coba jalankan “sumber bawaan .bashrc” misalnya

Sekarang, Anda dapat mencoba menjalankan perintah yang sebelumnya gagal dijalankan.

$ ls

file  devconnected  file2  directory1  swap file3

Luar biasa !

Anda memperbaiki “bash :perintah tidak ditemukan ” kesalahan di Linux!

Setel ulang variabel lingkungan PATH dengan benar

Bahkan jika Anda memecahkan masalah Anda, Anda harus mendefinisikan variabel lingkungan PATH Anda dengan benar jika Anda tidak ingin mengubah file bashrc Anda sepanjang waktu.

Pertama, lihat variabel PATH yang didefinisikan dalam file “/etc/environment”.

$ cat /etc/environment

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

Untuk menyetel ulang variabel lingkungan PATH di lingkungan Anda, ekspor PATH yang ditentukan dalam file lingkungan.

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

Sekarang, ubah file .bashrc Anda tetapi gunakan sintaks $PATH untuk menambahkan jalur Anda ke variabel PATH yang ada.

$ sudo nano ~/.bashrc

export PATH="$PATH:/home/devconnected"

Keluar dari file dan sumber file bashrc Anda agar perubahan diterapkan.

$ source ~/.bashrc

$ echo $PATH

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

Luar biasa !

Anda telah berhasil mengatur ulang variabel lingkungan PATH Anda, Anda seharusnya tidak mendapatkan “bash :command not found ” kesalahan lagi.

Jalankan perintah sebagai sudo

Dalam beberapa kasus, variabel lingkungan PATH Anda mungkin dikonfigurasi dengan sempurna tetapi Anda harus menjalankan perintah sebagai sudo.

Anda mungkin mendapatkan kesalahan ini atau sekadar “izin ditolak ” kesalahan.

Bagaimanapun, pertama-tama pastikan Anda memiliki hak sudo dengan perintah sudo.

$ sudo -l

User user may run the following commands on ubuntu:
    (ALL : ALL) ALL

Jika demikian, Anda seharusnya dapat menjalankan perintah Anda sebagai sudo.

$ sudo <command>

Selamat !

Anda telah memecahkan “bash :perintah tidak ditemukan ” kesalahan pada sistem Anda.

Verifikasi bahwa paket telah diinstal dengan benar

Dalam beberapa kasus, Anda mengira bahwa perintah Anda telah diinstal tetapi Anda tidak menginstal perintah tersebut sejak awal.

Katakanlah misalnya Anda ingin menjalankan “htop ” perintah tetapi Anda tidak dapat melakukannya.

$ htop

bash : Command 'htop' not found

Untuk memverifikasi apakah perintah telah diinstal dengan benar, tergantung pada distribusi Anda, jalankan perintah berikut.

$ dkpg -s htop     [Ubuntu/Debian]

dpkg-query: package 'htop' is not installed and no information is available
Use dpkg --info (= dpkg-deb --info) to examine archive files,
and dpkg --contents (= dpkg-deb --contents) to list their contents.

$ rpm -qa | grep htop    [CentOS/RHEL]

Bagaimanapun, Anda harus menginstal perintah jika Anda ingin menjalankannya dengan benar.

$ sudo apt-get install htop   [Ubuntu/Debian]

$ sudo yum install htop       [CentOS/RHEL]

Sekarang Anda dapat mencoba menjalankan perintah yang hilang.

$ htop

Kesimpulan

Dalam tutorial ini, Anda mempelajari bagaimana Anda dapat memecahkan "bash :command not found . yang terkenal itu ” kesalahan yang dihadapi banyak administrator sistem setiap hari.

Jika Anda memecahkan masalah Anda dengan solusi yang tidak dijelaskan dalam artikel, pastikan untuk meninggalkan komentar untuk membantu administrator lain.

Jika Anda tertarik dengan administrasi sistem Linux, kami memiliki bagian lengkap yang didedikasikan untuk itu di situs web, jadi pastikan untuk melihatnya.


Linux
  1. manajer langganan:perintah tidak ditemukan

  2. dnf:perintah tidak ditemukan

  3. rm:perintah tidak ditemukan

  1. [Memperbaiki] bash:Sudo:perintah tidak ditemukan

  2. mv:perintah tidak ditemukan

  3. ln:perintah tidak ditemukan

  1. bash:netstat:perintah tidak ditemukan.

  2. ifrename:perintah tidak ditemukan

  3. id:perintah tidak ditemukan