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.

Wair92
sumber

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.

Daniel Park
sumber
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.

G-Man Mengatakan 'Reinstate Monica'
sumber
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?

miroxlav
sumber
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.

jcbermu
sumber
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.

jkd
sumber