Tạo một lệnh cho tệp thực thi Linux


8

Tôi đang sử dụng một chương trình có tên là nút-webkit, nhưng tôi không thể khởi động chương trình mà không chỉ định đường dẫn đầy đủ đến tệp thực thi. Có cách nào để liên kết một lệnh (chẳng hạn như node-webkit) với một tệp thực thi trên Linux, để đường dẫn đầy đủ đến tệp sẽ không cần phải được chỉ định không?

Câu trả lời:


5

Tùy chọn thứ ba, có lẽ ít xâm phạm nhất, là thêm bí danh trong .bashrctệp của bạn . Tệp này là một tập hợp các tùy chọn bashmà nó đọc mỗi khi một phiên bản của bashđược bắt đầu.

  • Mở .bashrctệp của bạn với trình chỉnh sửa tệp của bạn, ví dụ:gedit ~/.bashrc

  • Thêm dòng dưới đây vào dưới cùng của .bashrctập tin của bạn
    alias node-webkit=/path/to/node-webkit

  • Làm source ~/.bashrcđể có thể sử dụng bí danh như thể đó là một lệnh.

Cách thức hoạt động này giống như #definetrong C / C ++, khi bạn nhập node-webkit, nó sẽ được thay thế bằng phía bên phải của aliasđịnh nghĩa, ở đây là đường dẫn đầy đủ để thực thi.


.bashrckhông phải lúc nào cũng được đọc khi bash được thực thi, nó sẽ chỉ được đọc bởi a.) shell tương tác và b.) shell không đăng nhập. .bashrcnên có nguồn gốc từ .bash_profileđể làm việc xung quanh sau này.
Chris Down

9

Để nhị phân được thực thi chỉ với tên của nó, thư mục chứa nhị phân cần phải nằm trong một trong các thư mục được chỉ định bởi PATHbiến môi trường của bạn . Bạn có thể thêm thư mục nhị phân hiện tại vào PATH của bạn bằng cách sau:

export PATH="/new/path:$PATH"

Bạn có thể đặt đoạn mã này trong tập lệnh khởi tạo cho trình bao của bạn, ~/.bashrcví dụ. Khi nó là một lệnh đơn, tôi thường liên kết nhị phân với vị trí đã có trong PATH của mình.

ln -s /path/to/node-webkit /usr/local/bin

3

Chắc chắn ... liên kết tượng trưng. Lệnh là "ln".

me@computer:~> echo $PATH
/usr/lib/mpi/gcc/openmpi/bin:/opt/lsb-tet3-lite/bin:/opt/lsb/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/X11R6/bin:/usr/games:/opt/kde3/bin:/usr/lib/jvm/jre/bin:/usr/lib/mit/bin:/usr/lib/mit/sbin

Đây là biến đường dẫn của bạn. Giả sử, bạn có quyền root, tạo liên kết tượng trưng vào / usr / bin có ý nghĩa:

cd /usr/bin
ln -s /path/to/your/program/node-webkit node-webkit

2
Điều này không thực sự trả lời câu hỏi. vd: symlink ở đâu?
jordanm

Bất kỳ vị trí, đã có trong đường dẫn của bạn. Tôi giả sử, bạn không muốn thay đổi biến đường dẫn của mình.
sme
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.