2011-08-31 32 views
10

Làm cách nào để thay đổi biến $ PATH trong Debian? Tôi đã cố gắng thay đổi /etc/profile nhưng điều này chỉ ảnh hưởng đến người dùng bình thường (và có, tôi đã thêm đường dẫn tới đường dẫn của người dùng và root).

Sau đó tôi đã cố gắng để sửa /root/.profile và sau đó /root/.bashrc cũng ...

Không làm việc. Bạn có biết nơi nào có thể là vấn đề?

+0

Mà vỏ này là dành cho? Bash, csh khác? – arunkumar

+0

Hmm Tôi không chắc chắn: D Tôi là 'kẻ ăn xin' với UNIX ... Tôi đã không thay đổi điều này từ instalation mặc định để nó có thể là gì? ... chỉnh sửa: sau khi thực hiện "echo $ SHELL" Tôi nhận đầu ra "/ bin/bash" :) – grongor

+1

Chỉ cần đoán, nhưng bạn đã bắt đầu một bash mới sau khi chỉnh sửa? Hoặc cách khác bạn đã nguồn tập tin sửa đổi sau khi nó đã được chỉnh sửa (./Path/to/file hoặc source/path/to/file). – Ahe

Trả lời

15

Điều này được đặt trong /etc/login.defs trên debian 6.0.

Đây là những dòng bạn phải chỉnh sửa:

# *REQUIRED* The default PATH settings, for superuser and normal users. 
# 
# (they are minimal, add the rest in the shell startup files) 
ENV_SUPATH  PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 
ENV_PATH  PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games 

EDIT:

tôi quên đặt nơi tôi tìm thấy giải pháp: https://serverfault.com/questions/166383/how-set-path-for-all-users-in-debian

+0

cảm ơn bạn đã trả lời, tôi sẽ không xác minh nhưng tôi nghĩ rằng đây là những gì tôi đang tìm kiếm :-) – grongor

+0

Hoạt động hoàn hảo! Ty rất nhiều!!! – shrimpwagon

0

Chỉnh sửa /etc/.profile để bao gồm set -vx gần đầu trang. Khởi động lại từ cửa sổ mới. Sau đó, bạn có thể xem những gì '.' các tệp được xử lý và nơi PATH đang được đặt lại.

Ngoài ra, hãy xác nhận rằng bạn thực sự nằm trong trình bao mà bạn nghĩ. Sau khi tất cả các tập lệnh khởi động đã hoàn tất, hãy thực hiện echo $SHELL và xác nhận giá trị = vỏ mà bạn mong đợi, rất có thể là bash.

Tôi hy vọng điều này sẽ hữu ích.

+0

xin lỗi nhưng nó chỉ hiển thị/etc/profile khi đăng nhập: D không có gì khác thay đổi .. Và có, tôi sử dụng/bin/bash – grongor

+0

cũng thats câu hỏi sau đó, nếu bạn có khác .profiles trong heirarchy của bạn, tại sao họ không được xử lý. Chỉ cần heck của nó, thêm 'set -vx' cho tất cả chúng. Xin lỗi chỉ nhận thấy rằng trong các ý kiến ​​của bạn ở trên bạn đã làm echo $ SHELL. printenv PATH là tốt, interesing. Tôi sẽ phải suy nghĩ về nó. chúc may mắn. – shellter

+0

Tôi hy vọng bạn sẽ nhận được một cái gì đó vì tôi bị mất ... – grongor

1

Sửa /etc/environment để bao gồm một dòng như này:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games" 
Các vấn đề liên quan