echo $ PATH hiển thị $ PATH


1

Trên một trong những hệ thống của tôi, tôi có một tình huống kỳ lạ. Khi tôi thực thi envtrên bất kỳ máy nào, kết quả sẽ như dưới đây:

[sup@vviesup07 ~ ]$ env |grep PATH
PATH=/usr/java/latest/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/sup/.local/bin:/home/sup/bin:/home/sup/.local/bin:/home/sup/bin
[sup@vviesup07 ~ ]$

Nhưng trên một máy có một người dùng, kết quả sẽ như sau:

[aut@vviesup09 ~ ]$ env |grep PATH
PATH=.:/usr/lib/oracle/12.2/client64/bin:$PATH
[aut@vviesup09 ~ ]$

Như bạn thấy, PATH không được đánh giá. Nó chỉ hiển thị $ PATH thay vì đánh giá biến. Điều gì có thể sai ở đây? Tôi có thể tìm lỗi ở đâu?

Câu trả lời:


3

Có vẻ như một số lệnh để cập nhật đã PATHsử dụng một trích dẫn 'thay vì trích dẫn kép "hoặc không trích dẫn:

PATH='.:/usr/lib/oracle/12.2/client64/bin:$PATH'

Thay thế nó bằng một trích dẫn kép:

PATH=".:/usr/lib/oracle/12.2/client64/bin:$PATH"

Để tìm nó, kiểm tra câu hỏi này và trả lời vềPATH .


Cảm ơn câu trả lời, nhưng tôi hoàn toàn không sử dụng dấu ngoặc kép nào: export PATH = / usr / lib / oracle / 12.2 / client64 / bin: $ PATH
Claus

Bạn nên gỡ lỗi nó: bây giờ bạn biết đoạn script nào gây rắc rối cho bạn, hãy thêm ví dụ echo $PATHvào nó.
anatolyg
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.