Thực thi một lệnh mỗi khi Terminal mở


19

Tôi đang dùng Ubuntu 13.04 và tôi muốn định cấu hình thiết bị đầu cuối của mình, để mỗi khi một tab / cửa sổ mới được mở, nó sẽ tự động thực hiện lệnh sau đây và ngay lập tức.

 /bin/bash --login

Làm thế nào tôi có thể đạt được điều này? Trên OSX với iTerm 2, có một tùy chọn để chạy lệnh khi bắt đầu. Tôi đoán ở đây tôi nên đạt được điều này thông qua một số loại dotfile ...


tại sao bạn muốn làm việc này? Khi bạn mở một thiết bị đầu cuối mới, lệnh này đã được thực thi.
Spack

Không, không. Tôi cần điều này vì một lỗi trong một số môi trường phát triển mà tôi sử dụng. Các --loginlá cờ là rất quan trọng.
nếu __name__ là Không có

Câu trả lời:


21

Thêm lệnh vào của bạn ~/.bashrc. Về mặt kỹ thuật, bạn cũng có thể thêm vào ~/.profile, từ man bash, INVOCATIONtài liệu:

Nếu bash được gọi với tên sh, nó sẽ cố gắng bắt chước hành vi khởi động của các phiên bản lịch sử shcàng gần càng tốt, đồng thời tuân thủ tiêu chuẩn POSIX. Khi được gọi dưới dạng vỏ đăng nhập tương tác hoặc vỏ không tương tác với --logintùy chọn, trước tiên, nó sẽ cố gắng đọc và thực thi các lệnh từ /etc/profile~/.profile, theo thứ tự đó.

Cũng thế:

Bash cố gắng xác định khi nào nó đang được chạy với đầu vào tiêu chuẩn của nó được kết nối với kết nối mạng, như khi được thực thi bởi trình nền shell từ xa, thường rshdhoặc daemon shell an toàn sshd. Nếu bash xác định nó đang được chạy theo kiểu này, nó sẽ đọc và thực thi các lệnh từ ~/.bashrc~/.bashrc, nếu các tệp này tồn tại và có thể đọc được.

Vì vậy, điều này có nghĩa là nếu bạn đăng nhập cục bộ, bạn sẽ ổn khi sử dụng ~/.profile; nhưng, nếu bạn ssh đến các hệ thống thì bạn sẽ muốn sử dụng ~/.bashrc. ~/.bashrccũng áp dụng khi đăng nhập cục bộ; Vì vậy, nó đã trở thành quy ước để sử dụng đó.


3

Thử:

  • Trong thiết bị đầu cuối, Chỉnh sửa> Tùy chọn> Tiêu đề tab và lệnh> Chạy lệnh tùy chỉnh của trình bao của tôi .

nhập mô tả hình ảnh ở đây

Hoặc là

  • gnome-terminal --tab -e "your command" để mở một tab mới.

Thêm thông tin: ManPage Gnome-terminal


2
Trên thực tế, chỉ cần kiểm tra các run command as login shellvấn đề cố định của tôi.
nếu __name__ là Không có
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.