Đã thay đổi PATH, bây giờ tôi nhận được lệnh không tìm thấy bản đồ cho tất cả mọi thứ


26

Máy chủ Amazon Linux, được kết nối với SSH:

Tôi đã cố gắng thay đổi PATH cho người dùng apache bằng cách thực hiện một số thay đổi trong / etc / môi trường ( PATH=$PATH:/opt/openoffice4/program) và / etc / sysconfig / httpd ( export PATH = ${PATH:$PATH:}/opt/openoffice4/program).

Sau đó tôi khởi động lại.

Bây giờ, tôi không thể làm gì, thậm chí ls -ldẫn đến-bash: ls: command not found

Tôi có thể làm gì để lấy lại quyền kiểm soát?


4
Bạn có thể chạy lệnh trực tiếp? Chẳng hạn /bin/ls?
DavidPostill

vâng, tôi có thể chạy / bin / ls
Ferenjito

13
Sau đó, bạn sẽ có thể chạy /bin/vivà sửa các tệp mà bạn đã phá vỡ đường dẫn.
DavidPostill

Câu trả lời:


49

Tôi có thể làm gì để lấy lại quyền kiểm soát?

Chạy /bin/vivà hoàn nguyên các thay đổi bạn đã thực hiện /etc/environment/etc/sysconfig/httpd.


32

Bạn có thể thiết lập PATHmà không cần một trình soạn thảo. Chỉ cần gõ này trong shell:

export PATH=/usr/local/bin:/usr/bin:/bin:$HOME/bin

1
Và loại bỏ khoảng trống! PATH=something, KHÔNGPATH = something
hát rong

4
Điều đó nên được trích dẫn, nếu không $HOMEsẽ phải chịu sự chia tách và tách từ. IOW, nó sẽ bị phá vỡ nếu $HOMEcó một khoảng trắng trong đó (hợp lý) hoặc bất kỳ ký tự toàn cầu nào (ít có khả năng hơn).
Kevin

@Kevin Tôi đã thử nó và các không gian và sự ảm đạm đã được sao chép. (Tất nhiên là viết export PATH=/path to home/binkhông hiệu quả.)
Neil

2
@Kevin Đó là cách nó hành xử trong việc tuân thủ nghiêm ngặt các triển khai, nhưng ít nhất bash đưa ra exportcác quy tắc cú pháp tùy chỉnh không có vấn đề đó. (Quy tắc cú pháp tùy chỉnh đã được yêu cầu vì các lý do khác, ví dụ: cho phép export array=(1 2 3).)
hvd

-1

Có lẽ điều này sẽ giúp:

export PATH=/usr/local/bin:/usr/bin:/bin:$HOME/bin

Lệnh 'xuất' không được sử dụng từ / usr / bin, vì vậy đó là lý do tại sao nó vẫn hoạt động!


1
Câu trả lời này đã được đề xuất.
xenoid
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.