Tôi đang tạo một quy trình công cụ Automator sử dụng hành động kịch bản shell để xử lý lựa chọn hình ảnh bằng lệnh tổng hợp hình ảnh. Chỉ có tôi có vấn đề làm cho nó đi. Theo kết quả tôi nhận được khi chạy quy trình làm việc, tuy nhiên mọi thứ đều hoạt động, tôi biết đó không phải là do thực tế là những thay đổi tôi mong đợi sẽ thấy trong thư mục hình ảnh không có. Tôi biết rằng lệnh fantemagick tôi đang sử dụng là chính xác vì nó hoạt động chính xác từ bàn điều khiển. (Tôi lặp lại lệnh tổng hợp với đầu ra & sao chép nó vào một phiên Terminal. Ran như một lá bùa). BTW: Quy trình làm việc để xử lý mờ dần trong một bộ phim chuyển động dừng mà tôi đã thực hiện. Có tôi biết tôi có thể sử dụng các công cụ video để đạt được điều tương tự, nhưng những công cụ tôi có quyền truy cập để tăng chất lượng hình ảnh ở đầu ra.
Đây là kịch bản
imagesCount=$#
rate=$(echo "scale=2; 100/$imagesCount"|bc)
percentage=$rate
for f in "$@"; do
fileName=${f%.*}
composite -blend "$percentage" -size 1280x720 "$f" xc:black -alpha Set "$fileName-1.jpg"
percentage=$(echo "scale=2; $percentage+$rate"|bc)
done
Lúc đầu, tôi nghĩ nguyên nhân của vấn đề có thể là khoảng trắng trong các đường dẫn, nhưng tôi đã loại bỏ khả năng này bằng cách chuyển các tệp sang một đường dẫn không có khoảng trắng, nhưng điều đó không có tác dụng.
Tôi gần như chắc chắn vấn đề có liên quan đến điều gì đó trong lệnh bash nhưng tôi hoàn toàn không biết bash, đây là lần đầu tiên tôi viết bất kỳ tập lệnh lệnh bash nào, nhưng tôi rất am hiểu về kịch bản bảng điều khiển Windows và sẽ không gặp rắc rối làm việc này ở đó
Nếu lỗi trong tập lệnh không đủ rõ ràng để bắt, ai đó có thể đề xuất một phương pháp để gỡ lỗi này để tôi có thể tìm ra lý do tại sao hình ảnh không được xử lý mặc dù tập lệnh chạy không có lỗi?
$f
thành f
hoặc đó chỉ là một lỗi sao chép? Ngoài ra, viết hoa của bạn fileName
không nhất quán.
composite
bằng đường dẫn tuyệt đối của nó (có thể được xác định bằng cách thực thiwhich composite
trên Terminal) không?