Đây là những gì Bash trong khi các vòng lặp làm:
while /path/to/application.app
do
:
done
Nó sẽ chạy ứng dụng và nếu nó chấm dứt chạy thành công phần thân của vòng lặp. :
là lệnh no-op của shell (vòng lặp phải có phần thân, vì vậy đó là những gì chúng ta đặt ở đó); sau đó nó trở lại đầu trang và chạy lại chương trình. Nếu thất bại, vòng lặp dừng chạy và tập lệnh thoát.
Tuy nhiên, có vẻ như những gì bạn đang chạy có thể là một ứng dụng Mac thông thường ( .app
): có một số vấn đề xuất hiện trong trường hợp đó. Một là bạn cần sử dụng open
lệnh , thay vì chạy trực tiếp thư mục ứng dụng : open /path/to/application.app
.
Mặt khác là khi bạn làm open
thường sẽ chấm dứt ngay lập tức với một thành công, bất kể ứng dụng tiếp tục làm gì: điều đó không hoàn toàn phổ biến, nhưng hầu hết sẽ. Nếu bạn làm như vậy, bạn có thể sử dụng -W
tùy chọn để buộc open
chặn cho đến khi ứng dụng kết thúc : open -W /path/to/application.app
. Lưu ý rằng nếu ứng dụng đã chạy, điều này sẽ đợi cho đến khi việc thực thi hiện tại cũng chấm dứt.
Bao nhiêu vấn đề bất kỳ trong số đó phụ thuộc vào ứng dụng bạn đang chạy. Nếu nó không chơi tốt, làm điều này từ vỏ có thể không phải là lựa chọn tốt nhất. Trong trường hợp đó, có lẽ bạn nên sử dụng AppleScript, điều mà bạn có thể hỏi về Hỏi khác .