Câu hỏi Làm thế nào để viết một kịch bản để chạy ứng dụng khác nhau


Tôi rất mới với nền tảng Linux.

Tìm kiếm một tập tin kịch bản để gọi ứng dụng khởi động khác nhau tập tin nằm ở vị trí khác nhau và cần phải được chạy trong thiết bị đầu cuối khác nhau.

Ví dụ :

tôi có hai tệp .sh như a.sh và b.sh ở các vị trí khác nhau.

Bây giờ cần một tập tin kịch bản để chạy các tập tin .sh. khi tôi chạy kịch bản đó, nó sẽ được mở hai thiết bị đầu cuối. Trong thiết bị đầu cuối đầu tiên a.sh nên được gọi và b.sh tập tin nên được chạy trên thiết bị đầu cuối thứ hai.

Cảm ơn trước sự giúp đỡ.

Trân trọng, Raghu


2
2017-07-04 07:37


gốc




Các câu trả lời:


Điều đó khá đơn giản. Viết một kịch bản như sau:

#!/bin/bash
xterm -e /bin/bash /path/to/script_1.sh &
xterm -e /bin/bash /path/to/script_2.sh &

Các -e tùy chọn có nghĩa là "thực hiện". Các đối số sau khi nó là lệnh để thực hiện (ở đây là / bin / bash) và tùy chọn tiếp theo là đối số cho lệnh (ở đây tên của tập lệnh). & có nghĩa là các lệnh xterm đang chạy ở chế độ nền. Nếu bạn loại bỏ đầu tiên &, nó sẽ chạy tập lệnh đầu tiên hoàn toàn và sau đó nó sẽ bắt đầu lệnh tiếp theo, nhưng khi tôi hiểu câu hỏi của bạn mà bạn muốn chạy chúng cùng một lúc, vì vậy hãy để & đó.

Bạn cũng có thể sử dụng thiết bị đầu cuối tiêu chuẩn thay vì xterm, nhưng điều này phụ thuộc vào phân phối và máy tính để bàn bạn sử dụng. Ví dụ trong gnome nó sẽ là gnome-terminal -x, nhưng nó không nên tạo sự khác biệt khi sử dụng xterm.

Hi vọng điêu nay co ich.

Greatings, Darth Ravage


2
2017-07-04 08:18



Tôi nghĩ đó là gnome-terminal -e  (-x dường như cũng hoạt động, nhưng -e xuất hiện trong --help trang)... Ngoài ra, với gnome-terminal, bạn có thể lấy nó để giữ thiết bị đầu cuối mở (trong tùy chọn, trong 'Tiêu đề & Lệnh'), vì vậy bạn có thể thấy đầu ra khi các tập lệnh thoát. Ngoài ra, nếu các tập lệnh được gọi có dòng shebang #!/bin/bash, bạn không cần phải tiền tố lệnh /bin/bash (hoặc là bash) - Wilf
Bạn hoàn toàn đúng với -e. Lỗi của tôi. tôi đã viết /bin/bash chỉ vì lợi ích của sự hoàn chỉnh, nhưng như bạn nói nó là hoàn toàn có thể chỉ cần viết bash. Cảm ơn những lời chỉ trích mang tính xây dựng. - Darth Ravage