Điểm:1

Mở một phần mềm từ bất cứ đâu

lá cờ br

Tôi có một chương trình đã biên dịch trong một thư mục nhất định mà tôi muốn truy cập từ mọi nơi mà không cần ghi ./path/to/file/each/time/app_name. Ví dụ: ứng dụng thực thi được cài đặt trong này ./path/to/file/each/time/app_name đường dẫn và tôi muốn có thể mở nó bằng cách viết tên ứng dụng trong dòng lệnh, và không có gì hơn thế. Làm thế nào tôi có thể làm điều đó?

Điểm:1
lá cờ in

Tạo một tập lệnh (với quyền root) được gọi là /usr/local/bin/app_name và đặt cái này bên trong nó:

#!/bin/bash

/path/to/file/app_name $@

Sau đó làm cho tập lệnh có thể thực thi được:

Sudo chmod +x /usr/local/bin/app_name
vanadium avatar
lá cờ cn
Tốt hơn cũng nên giải thích tại sao và cách thức hoạt động. Bạn cũng có thể muốn hoàn thành câu trả lời bằng cách thêm một tùy chọn khác, tức là đặt một liên kết tượng trưng đến tệp thực thi trong `/usr/local/bin`. Ngoài ra, điều đáng nói là tùy chọn sử dụng ~/bin hoặc ~/.local/bin nếu chỉ người dùng hiện tại cần quyền truy cập - trong trường hợp đó, không cần quyền truy cập root.
Kristopher Ives avatar
lá cờ in
`~/.bin` và như vậy không có trong `$PATH` theo mặc định nên đó là một lỗ sâu hơn. Có những vấn đề khác với liên kết tượng trưng. Giải pháp này hoạt động ở mọi nơi bất kể những vấn đề đó và cũng cho phép bạn thực hiện những việc linh hoạt hơn như thêm đối số mặc định hoặc chạy các lệnh tổng hợp phức tạp hơn.
vanadium avatar
lá cờ cn
.bin được tự động đưa vào đường dẫn nếu nó tồn tại trên Ubuntu, vì vậy không có lỗ hổng nào ở đó. Có nhiều lỗ hổng hơn trong việc cố gắng làm mọi thứ với quyền root. Với các liên kết tượng trưng, ​​​​sẽ không có nhiều vấn đề hơn với cách tiếp cận của bạn. Nếu một ứng dụng yêu cầu bạn bắt đầu trong một thư mục cụ thể hoặc đặt môi trường trước đó, thì tập lệnh trình bao bọc thực sự là cách phù hợp.
Kristopher Ives avatar
lá cờ in
Không. Đường dẫn mặc định cho 20.04 LTS là `/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games: /snap/bin`
vanadium avatar
lá cờ cn
Khi đó, bạn phải có một phiên bản linux khác hoặc bạn đang sử dụng một trình bao khác.
Kristopher Ives avatar
lá cờ in
Không. Đây là các giá trị `$PATH` mặc định, xem https://askubuntu.com/questions/386629/what-are-the-default-path-values
Zanna avatar
lá cờ kr
`~/bin` được thêm vào PATH khi và chỉ khi nó tồn tại (như vanadium nói). Bạn có thể tìm thấy mã bổ sung nó trong `~/.profile`
Điểm:0
lá cờ jp

Tạo bí danh cho chương trình của bạn trong .bashrc tập tin.

nano ~/.bashrc

Ở cuối tệp gõ dòng:

bí danh app_name=/path/to/file/each/time/app_name

Sau đó lưu (ĐIỀU KHIỂN+Ô sau đó đi vào) và thoát (ĐIỀU KHIỂN+X).

Bạn sẽ có thể sử dụng bí danh trong cửa sổ Terminal mới mà bạn mở.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.