Lệnh tùy chỉnh Terminator khiến shell đóng


3

Tôi có cấu hình terminator mặc định được cấu hình để chia cửa sổ thành bốn góc phần tư khi khởi chạy, điều này hoạt động tốt.

Ngoài ra còn có một tùy chọn "Lệnh tùy chỉnh" cho mỗi thiết bị đầu cuối, mà tôi giả sử có nghĩa là một cái gì đó để chạy trong thiết bị đầu cuối. Tuy nhiên, nếu tôi đặt bất cứ thứ gì vào đó, lệnh sẽ thực thi và thiết bị đầu cuối đóng lại (tôi chắc chắn rằng nó đang thực thi vì tôi đã thử echo hi > /tmp/hivà tập tin đó thực sự được tạo ra với "hi" trong đó).

Làm cách nào tôi có thể nhận từng thiết bị đầu cuối để thực thi lệnh tôi chỉ định nhưng vẫn mở sau đó?

EDIT: Kubfox 14.04.1, với bản phân phối terminator tiêu chuẩn trong repo đáng tin cậy.

Câu trả lời:


4

Có một When command exits: tùy chọn trong Tùy chọn → Cấu hình → Lệnh. Nếu bạn muốn mở shell sau khi thực thi lệnh, hãy nối thêm ; bash để tùy chỉnh lệnh (ví dụ: echo hi > /tmp/hi; bash ).


Thật không may, cả hai tùy chọn này đều không hoạt động nếu tôi muốn, ví dụ, cd ở đâu đó để tôi sẵn sàng đi.
hsiu

cd /; bash làm việc cho tôi Có lẽ của bạn .bashrc chứa lệnh cd?
xzfc

cd là một exa xấu, [; e vì hầu hết các shell sẽ mở trong cùng thư mục mà chúng được khởi chạy từ đó, nhưng vấn đề là nó đang mở một Mới vỏ. Tôi cảm thấy nên có một cách để nói "Trong shell này, thực thi các lệnh này, giống như tôi đã gõ chúng vào dòng lệnh, và sau đó rời khỏi shell như nó là"
hsiu

Đặt lệnh tùy chỉnh thành CUSTOM_CMD=1 bashvà thêm điều này cho bạn .bashrc. Nó không hoàn toàn giống nhau (các lệnh không được lặp lại), nhưng bạn có thể xác định các hàm, biến, tùy chọn shell, v.v.
xzfc

Hừm, có vẻ hơi giòn nhưng nó sẽ hiệu quả với tôi, có thể thay đổi câu trả lời của bạn thành bình luận cuối cùng của bạn. Cảm ơn!
hsiu

0

Nhận xét của @ xzfc trong câu trả lời được chấp nhận của anh ấy đã giúp tôi tìm ra giải pháp.


Trong mỗi trường "lệnh tùy chỉnh", nhập

INITIAL_TERMINATOR_WINDOW=1 bash

Sau đó, từ bên trong của bạn .bashrc bạn có thể kiểm tra xem biến đã được đặt chưa và trả lời tương ứng:

if [ -n "$INITIAL_TERMINATOR_WINDOW" ]; then
  # Do something from an initial window
else
  # Do something different when opening subsequent windows
fi
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.