Tidak ada file atau direktori seperti itu setelah mengetik $ PATH di terminal


13

ketika saya menulis di terminal

echo $PATH

output saya adalah

:/home/bo/bin:/usr/local/bin:/usr/sbin:/usr/local/sbin:/usr/bin:/sbin:/bin

tetapi ketika saya menulis hanya:

$PATH

output ini saya tidak mengerti benar, output adalah:

bash: :/home/bo/bin:/usr/local/bin:/usr/sbin:/usr/local/sbin:/usr/bin:/sbin:/bin: No such file or directory

dan pertanyaan saya adalah, mengapa ia menulis "Tidak ada file atau direktori seperti itu?" setiap direktori dari variabel PATH ada.

Jawaban:


20

$PATHadalah variabel, yang saya yakin Anda tahu. Ketika variabel itu diselesaikan, itu akan sama dengan mengetik :/home/bo/bin:/usr/local/bin:/usr/sbin:/usr/local/sbin:/usr/bin:/sbin:/bin:dan mengharapkan sesuatu terjadi. Alasannya echo $PATHadalah karena Anda secara eksplisit menyalurkannya ke tampilan daripada memberi tahu terminal untuk "melakukan" $PATH.


2

Jika Anda masih belum mendapatkannya dari jawaban lain, sama seperti ini:

$ echo the quick brown fox
the quick brown fox
$ the quick brown fox
bash: the: command not found

$ echo and/or the black and white cats
and/or the black and white cats
$ and/or the black and white cats
bash: and/or: No such file or directory

Kata pertama dari setiap baris perintah harus berupa perintahechoadalah perintah seperti itu.  the,, and/ordan :/home/bo/bin:/usr/local/bin:/usr/sbin…tidak. Dan, tampaknya, ketika Anda mengetik baris perintah yang dimulai dengan kata yang bukan perintah, bash mengatakan No such file or directoryjika kata itu berisi satu atau lebih /karakter, dan command not foundjika tidak.


1

Dengan mengetik

$ PATH

Anda sebenarnya tidak melakukan apa pun selain memperluas kontennya di baris perintah:

: / home / bo / bin: / usr / local / bin: / usr / sbin: / usr / local / sbin: / usr / bin: / sbin: / bin

dan ini bukan perintah yang valid, mengarah secara sah ke pesan yang Anda dapatkan.

Apa yang Anda harapkan dari pengetikan saja $PATH?


Saya kira harapan yang $PATHpada dasarnya akan mencetak variabel ke layar tanpa mencoba menjalankannya, namun, ini tidak terjadi.
iDrwish

0

Di Linux terminal menunggu command, $ PATH bukan perintah, adalah a variable.

Saat Anda menulis, echo $PATHAnda menanyakan konten variabel dan dengan perintah yang echomenunjukkannya di layar.


0

Variabel $PATHberisi beberapa direktori yang dipisahkan oleh titik dua. Shell mengharapkan file yang dapat dieksekusi atau perintah lain (misalnya, perintah built-in shell, seperti cd) sebagai input. Perintah seperti lsdan cathanya executable yang terletak di salah satu direktori $ PATH. Beberapa direktori yang dirangkai secara bersama-sama oleh titik dua umumnya tidak membentuk jalur file UNIX yang tepat. Perhatikan: jika Anda memasukkan hanya satu direktori tanpa titik dua, maka Anda mendapatkan hasil yang berbeda.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.