Eu estou fazendo um serviço de automação, e a primeira parte pega arquivos e RARs usando um script bash
Então, no Automator, eu tenho uma ação Get Specified Finder Items para testar o fluxo de trabalho e, em seguida, o script bash
F=''
for i in "$@"; do
F="$F \"${i//\"/\\\"}\""
done
/usr/local/bin/rar a ~/archive.rar $F
por isso, apenas pega os caminhos de arquivo, coloca aspas em torno deles e executa o comando RAR com todos os arquivos como argumentos. Quando eu corro isso, o automator me dá o erro
Não é possível abrir "/Users/user/test.txt" Nenhum arquivo ou diretório
Não é possível criar ~ / archive.rar Nenhum arquivo ou diretório
Nenhuma pista porque está recebendo esses erros. Quando eu adiciono um eco ao último comando
echo /usr/local/bin/rar a ~/archive.rar $F
Os resultados são exatamente o comando que preciso. Eu posso copiar e colá-lo no terminal e funciona.
O automator executa scripts bash de maneira diferente, então eles rodariam no terminal?
"$@"
para rar diretamente?
~
não é expandido dentro de aspas, então você precisa de pelo menos~/"archive.rar"
lá. E eu suspeito de alguns problemas com o manuseio de espaços e citando também para$F
. Funciona se você o executar diretamente no Terminal?