Estoy tratando de hacer un servicio para traducir cosas que Chrome no traduce automáticamente. El siguiente script funciona cuando se ejecuta desde mi shell
#!/bin/bash
input='это тест)))' # translates to - this is a test)))
if [[ $(echo "$input") =~ ')' ]]; then
input="$(echo "${input//)/}")"
fi
export PATH="/usr/local/bin:$PATH"; /usr/local/bin/trans -e yandex -b :en "$input"
el resultado: this is a test
Sin embargo, cuando pongo esto en un Applescript:
set input to "это тест)))"
set output to (do shell script "if [[ $(echo " & quoted form of input & ") =~ ')' ]]; then " & quoted form of input & "=\"$(echo \"${" & quoted form of input & "//)/}\")\"; fi; export PATH=\"/usr/local/bin:$PATH\"; /usr/local/bin/trans -e google -b :en " & quoted form of input & "")
display dialog output as string
El resultado sigue siendo this is a test)))
Todavía se ejecuta y traduce la cadena de entrada. Pero no elimina el )))
. No entiendo por qué la declaración if
no funciona en mi versión de Applecript. ¿Estoy citando algo mal?
Este script usa un programa llamado Translate-Shell que se puede encontrar en GitHub o en el sitio web del autor del programa aquí .