Tôi có một số mã AppleScript mà tôi đang thực hiện với osascript
. Đây là một phần của chương trình Perl lớn hơn. Tôi muốn để có thể in để stdout từ AppleScript, sau đó có quá trình kịch bản Perl đầu ra. Nhưng tôi đã không thể in từ bên trong AppleScript. Tôi nên làm gì?In để xuất bản từ osascript/Applescript
Đây là những gì tôi đã cố gắng:
do shell script "echo Foo"
. Không hờn dỗi Foo.- This Google Groups discussion thực hiện một số thủ thuật để mở/dev/fd/1. Đối với tôi, tôi nhận được một lỗi của "File Macintosh HD: dev: fd: 1 không tìm thấy"
Dưới đây là kịch bản tôi đang chạy:
tell application "Safari"
set window_list to every window
repeat with the_window in window_list
set tab_list to every tab in the_window
repeat with the_tab in tab_list
set the_url to the URL of the_tab
-- I'd like to put a print statement here,
-- instead of display dialog
display dialog the_url
end repeat
end repeat
end tell
Kể từ osascript
sẽ tự động in giá trị cuối cùng của một chương trình, tôi có thể thu thập các URL vào một danh sách và in nó. Nhưng sau đó kịch bản Perl của tôi sẽ phải phân tích cú pháp danh sách, xóa dấu ngoặc kép, v.v. Có vẻ như sẽ đơn giản hơn khi chỉ in một URL trên mỗi dòng.
Cảm ơn
Cảm ơn, mà sẽ làm cho mọi việc dễ dàng hơn để phân tích. Đầu ra về cơ bản sẽ giống như tôi đã in. Nhưng tôi sẽ tiếp tục chấp nhận điều đó như là câu trả lời, với hy vọng rằng một người khác sẽ biết cách in mà không xây dựng một chuỗi. – Evan
Không ai khác trả lời câu hỏi này, vì vậy tôi sẽ chấp nhận câu trả lời này ... – Evan
Tại sao cách duy nhất để có được stdout từ từ osascript là giá trị trả lại cuối cùng? – justingordon