Estoy tratando de hacer un servicio a traducir cosas que Chrome no traduce de forma automática. La siguiente secuencia de comandos funciona cuando se ejecuta desde mi concha
#!/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 me 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 es this is a test)))
Todavía se ejecuta y se traduce en la cadena de entrada. Pero no elimina la )))
. No entiendo por qué la if
declaración no está funcionando en mi applescript versión. Estoy citando algo mal?
Este script utiliza un programa llamado Traducir-Shell que se puede encontrar en GitHub o en el programa de la página del autor aquí.