Thêm thư mục bash script vào đường dẫn?


16

Tôi có một số tập lệnh bash trong thư mục ứng dụng mà tôi muốn sử dụng như thể chúng nằm trên đường dẫn của tôi. Nếu chúng là các ứng dụng đơn giản, tôi chỉ cần thêm thư mục vào ~ / .bashrc, nhưng đây là các tập lệnh.

ví dụ:

~/a_dir/another_dir/foo.sh
~/a_dir/another_dir/foo-gui.sh

Có cách nào tốt để thiết lập một đường dẫn để tôi có thể sử dụng chúng từ bất kỳ thư mục nào không?

ví dụ:

totally/different/path$ bash foo.sh

bạn sẽ không thể làm điều đó với bash foo.sh, nhưng với foo.sh, sau khi cho phép thực thi và đưa chúng vào $ PATH.
elias

Câu trả lời:


21

Có, bạn có thể thêm bất kỳ thư mục nào vào đường dẫn hệ thống. Một cách để làm điều này là cập nhật định nghĩa PATH (biến môi trường). Bạn có thể làm điều này trong .bashrcbằng cách thêm các dòng sau:

PATH="/your/script/dir:${PATH}"
export PATH

Tôi muốn thêm các tập lệnh của tôi vào $HOME/.local/bin/(đó là một thư mục ẩn) để thư mục nhà của tôi sạch hơn.

Thư mục của bạn sẽ không được chèn vào biến PATH ngay lập tức, trừ khi bạn chạy source .bashrc.

Bạn có thể thêm nhiều thư mục vào đường dẫn, hãy nhớ điều đó. Vui lòng tham khảo tài liệu BASH nếu bạn không hiểu mã.

Phương pháp trước đó sẽ chỉ hoạt động cho người dùng của bạn. Nếu bạn cần thêm một thư mục script cho tất cả người dùng làm như bodhi.zazen và thêm tập lệnh của bạn vào /usr/local/bin.


Thêm nó trước khi ghi đè tập lệnh hệ thống - có nghĩa là có thể dễ dàng thay thế chúng không phải lúc nào cũng tốt.
Wilf

9

IMO phương pháp tốt nhất là thêm các tập lệnh vào ~ / bin

mkdir ~/bin

~/binsẽ tự động được thêm vào đường dẫn của bạn. Nếu không, thêm nó vào~/.bashrc

if [ -d $HOME/bin ]; then
    PATH=$PATH:$HOME/bin
fi

Nếu bạn muốn chúng có sẵn cho tất cả người dùng, hãy thêm họ vào /usr/local/bin


Trong trường hợp này, vì nó là tập lệnh từ một ứng dụng, tôi khuyên bạn nên đặt các liên kết tượng trưng cho tập lệnh vào ~/bin, để có thể bảo trì tốt hơn.
elias

3

giải pháp khác

  1. Thêm đường dẫn đến ~/.bashrc mở bằng vim$ vim ~/.bashrc

    thí dụ:

    # add extra paths export PATH=$PATH:~/Scripts

  2. khi đường dẫn được thêm vào chạy:

    $ source ~/.bashrc

  3. Nếu thêm chính xác sẽ không có lỗi.

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.