Przepływ pracy Automatora działa tylko po kliknięciu „krok”

2

Próbuję napisać przepływ pracy, który użyje powłoki do zastosowania SHA256 do komórek w arkuszu kalkulacyjnym Excel.

Przepływ pracy (który może być trochę włamaniem) działa, ale tylko wtedy, gdy kliknę go za pomocą „Step” - jeśli spróbuję go uruchomić lub zapętlić, wynikiem nie jest skrót mieszania SHA256, ale oryginalne wejście.

Jakieś pomysły? Ponieważ wydaje się to naprawdę dziwne.

EDYCJA: Dzięki @Graham Miln w końcu udało mi się pracować w samym AppleScript bez Automatora.

wprowadź opis zdjęcia tutaj

wprowadź opis zdjęcia tutaj

hyperflux7
źródło
1
Czy możesz naprawić swoje zrzuty ekranu? Łączenie z Dropbox nie działa, lepiej przesłać je bezpośrednio do AD (co można zrobić w oknie dialogowym „dodaj zdjęcie”).
nohillside

Odpowiedzi:

0

Opisane zachowanie sugeruje problem z czasem. Jeden lub więcej kroków nie jest wykonywanych przed rozpoczęciem następnego kroku.

Rozważ połączenie wszystkich kroków w jeden AppleScript. Możesz użyć polecenia do shell script w AppleScript, aby wywołać shasum:

-- Get value to hash from clipboard
set myValue to the clipboard

-- Build the command to execute
set hashCommand to "echo -n " & quoted form of (myValue) & " | shasum -a 256"

-- Debug check the command; comment out when it looks good
display dialog hashCommand

-- Execute command and place on clipboard
set myHash to do shell script hashCommand
set the clipboard to myHash

Schowek jest dostępny przez AppleScript :

display dialog (the clipboard)

Jako pojedynczy AppleScript możesz debugować za pomocą Aplikacje> Narzędzia> Edytor skryptów i uzyskać lepszy wgląd w to, co dzieje się podczas działania skryptu.

Graham Miln
źródło
To bardzo pomocne, dzięki. Sprowadziłem to teraz do znacznie prostszego wyglądu. display dialog (the clipboard) set myValue to (the clipboard) set myHash to do shell script "echo -n " & quoted form of myValue & " | shasum -a 256 | pbcopy" display dialog (the clipboard) Ale coś jest nie tak ze sposobem, w jaki wartość jest przekazywana do skryptu Shell, ponieważ wyjściowa wartość schowka nie jest właściwym hashem ... (jest to jednak skrót)
hyperflux7
| pbcopyRury nie jest konieczne. skrypt do shell przekazuje wynik shasumdo myHash. Użyj czegoś takiego jak set the clipboard to myHashpo utworzeniu skrótu.
Graham Miln,
AppleScript w odpowiedzi został rozszerzony o komentarze i interakcje ze schowkiem.
Graham Miln,
Ok, przepraszam, że nie wiem dużo AppleScript, ale teraz go mam, set myValue to "1" set myHash to do shell script "echo -n \"" & quoted form of (myValue) & "\" | shasum -a 256" set the clipboard to myHash display dialog (the clipboard)a to nie powoduje wygenerowania skrótu SHA256 równego 1. Jeśli usunę shasum -a 256z linii Shell, wynik jest -n '1'sugerujący problem z tym, jak wartość jest przekazywana do skryptu Shell?
hyperflux7
Czy możesz edytować swoje pytanie, tak aby zawierało kod AppleScript, skrót, którego szukasz 1, i skrót, którego oczekujesz. Ułatwi to udzielenie odpowiedzi i może zachęcić innych do pomocy.
Graham Miln,