Làm cách nào để thêm một vị trí vào đường dẫn của tôi trong Unix?


10

Tôi đang sử dụng cài đặt mặc định của FreeBSD, với trình bao C (csh).

Giả sử tôi có một lệnh tôi có thể chạy bằng cách thực hiện điều này: /sbin/abc, nhưng không thể chạy bằng cách thực thi abc. Làm cách nào tôi có thể đặt đường dẫn nhất định hoặc thứ gì đó tạo ra abc chạy khắp nơi?



bạn dùng vỏ gì thiết lập đường dẫn của bạn được thực hiện hơi khác nhau trong bash, csh, sh, tcsh, v.v. Bạn thường có thể chạy echo $SHELL để tìm ra cái vỏ nào bạn đang sử dụng.
Tim

Câu trả lời:


13

Aha, FreeBSD. Đó là tcsh, tôi tin.

Vì thế:

set path=(/sbin $path)

6

cú pháp bash:

export PATH=${PATH}:/sbin

cú pháp sh (hai lệnh riêng biệt):

PATH=${PATH}:/sbin
export PATH

csh và tcsh:

setenv PATH "$ {PATH}: / sbin"
đặt đường dẫn = ($ path / sbin)

Điều này sẽ nối /sbin đến đường dẫn của bạn, vì vậy khi bạn gõ abc, vỏ cũng sẽ nhìn vào /sbin cho nó. Bạn cũng có thể thêm lệnh vào ~/.bashrc tập tin (hoặc ~/.cshrc, ~/.tcshrc, ~/.profile, ~/.login Bạn muốn sử dụng loại vỏ nào.


Tôi nhận được "lệnh xuất không tìm thấy" Tôi đang sử dụng Freebsd 8.1

Hãy cho tôi biết bạn đang sử dụng shell nào và tôi sẽ cập nhật cú pháp.
Tim

Tôi không biết tôi đang sử dụng cái vỏ nào. Đó là FreeBSD mặc định, tôi không thay đổi gì cả ...

1
kiểu echo $SHELL để tìm ra shell nào bạn đang sử dụng và chạy các lệnh thích hợp (Tôi đoán tcsh / csh vì bạn không có export ). Tôi đã cập nhật câu trả lời này với cú pháp cho cả ba.
Tim

/ bin / csh [đệm từ ...................]
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.