Làm cách nào để tạo lệnh đầu cuối tùy chỉnh (để chạy tập lệnh)?


36

Tôi là một nhà phát triển web. Khi tôi muốn bắt đầu làm việc, tôi luôn thực thi một số lệnh trên thiết bị đầu cuối. Ví dụ:

sudo service apache2 start
sudo service mysql start
sublime

Để tăng tốc quá trình này, tôi tạo một .shtệp chứa các lệnh này.

Bây giờ, khi tôi muốn bắt đầu làm việc, tôi chỉ thực hiện tệp .sh này và tất cả các dịch vụ (mysql, apache2, v.v.) bắt đầu.

Có thể tạo một lệnh tùy chỉnh cho việc này? Ví dụ: nếu tôi gõ sudo start-workingvào terminal, nó sẽ thực thi các lệnh này

Câu trả lời:


58

Một cách phổ biến mà mọi người xử lý việc này là tạo một binthư mục trong thư mục chính của họ:mkdir ~/bin

Sau đó, bạn có thể đặt các tập lệnh tùy chỉnh của mình vào đó: mv start-working ~/bin

Hãy chắc chắn rằng tập lệnh của bạn có thể thực thi được: chmod +x ~/bin/start-working

Thêm phần này vào cuối ~/.bashrctệp của bạn (nếu bạn đang sử dụng bash, có thể là bạn):export PATH=$PATH:~/bin

Bây giờ hãy đăng nhập lại và ra khỏi thiết bị đầu cuối của bạn và bạn sẽ có thể chỉ cần gõ start-workingvà tập lệnh của bạn sẽ thực thi.

Bây giờ đường dẫn của bạn đã được thiết lập, bất kỳ tập lệnh mới nào bạn thả vào, ~/binbạn chỉ cần nhập tên của.


13
+1 và thay vì đăng xuất và đăng nhập, bạn chỉ cần chạy các lệnh source ~/.bashrchoặc . ~/.bashrcđể áp dụng các thay đổi.
Meysam

Joe Oppegaard, tôi thấy thông tin này thực sự hữu ích vì đã có những kịch bản hoàn chỉnh mà tôi có và muốn chạy như một lệnh hơn là một kịch bản. Có cách nào để bao gồm tất cả các thư mục con mà bạn tạo trong ~ / bin để bạn không phải bao gồm nhiều dòng xuất trong .bashrc không? Tôi đã thử export PATH=$PATH:~/bin/*nhưng điều đó không trả lại kết quả mong muốn.
Kevin Wyman

2
Mặc định ~/.profileđã thêm ~/binvào PATH, do đó, việc thêm vào nó ~/.bashrcsẽ thêm vô nghĩa hai lần trở lên.
geirha

Nó hoạt động mà không cần tôi thêm bất cứ điều gì vào .bashrc, vì vậy bạn có thể bỏ qua điều đó như geriha nói
Aaron Flores

theo kinh nghiệm của tôi, khi bạn thêm tệp mới, bạn phải làm lại lệnh chmod, nếu không, quyền sẽ bị từ chối
Webdess

15

Tôi đang tìm cách tạo các lệnh tùy chỉnh và tôi tìm thấy câu hỏi này trong số những người khác. Tôi nghĩ rằng những gì tôi đang tìm kiếm là cho bí danh vì vậy tôi sẽ cho bạn cách để làm điều này với một bí danh.

Trên thư mục nhà của bạn:

nano .bash_aliases

Và ở đó bạn có thể viết ra các lệnh của bạn trong một dòng:

alias start-working='sudo service apache2 start; sudo service mysql start; sublime'

Sau khi lưu tệp, cấu hình lại bashrc của bạn

. ~/.bashrc

Và kiểm tra bí danh mới của bạn đã được tải chưa

alias

Vậy đó, bạn có thể bắt đầu làm việc ngay bây giờ bằng cách chạy

start-working
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.