In Automator, come ottenere il contenuto della cartella dopo l'azione "Esegui script shell"

0

Ho un'applicazione di Automator in cui mi piacerebbe trascinare una cartella su di essa e fargli creare un duplicato (di pari livello) di quella cartella con i file duplicati rinominati. Ad esempio, iniziando con quanto segue:

root
 +--svgs
     |--icons_a.svg
     +--icons_b.svg

Quando trascini la directory svgs sull'applicazione, vorrei finire con quanto segue:

root
 |--svgs
 |   |--icons_a.svg
 |   +--icons_b.svg
 +--renamed-svgs
     |--a.svg
     +--b.svg

Ho provato quanto segue:

Malanciaquantosegue:

Nonsaicomeeseguireildebugdell'errore,macomepossoottenerelaprimaazione"Esegui script shell" per restituire la cartella "rinominata-svgs" o il contenuto di quella cartella?

O c'è un modo migliore per fare tutto questo?

    
posta robertwbradford 08.04.2016 - 00:35
fonte

2 risposte

1

In genere è consigliabile racchiudere una variabile tra virgolette.

Utilizza il comando echo per restituire la cartella " rinominata-svg "

rm -rf "$@"/../renamed-svgs
cp -rf "$@"/ "$@"/../renamed-svgs
echo "$@"/../renamed-svgs/

Oppure utilizza il comando find per restituire i file il cui nome inizia con icone _

rm -rf "$@"/../renamed-svgs
cp -rf "$@"/ "$@"/../renamed-svgs
find "$@/../renamed-svgs/" -type f -maxdepth 1 -iname 'icons_*' -print
    
risposta data 08.04.2016 - 21:10
fonte
0

Questo errore è esattamente ciò che accadrà per gli script di bash se l'applicazione con cui sta comunicando non è un Running Application quando è in interazione con. Per quanto riguarda un modo migliore per eseguire l'operazione, no, l'automazione è eccezionale.

  • Lo so, non una risposta completa, ma non posso commentare e la mia affermazione è vera.
risposta data 08.04.2016 - 04:02
fonte

Leggi altre domande sui tag