Estoy intentando generar un script de shell en AppleScript. Al usar el siguiente patrón:
set tDur to "PT1H21M7S"
set tSh to "echo "" & tDur & "" | egrep -o "[0-9]+M" | sed s/M// | sed -e :a -e s/^.{1,1}$/0&/;ta"
... me sale el error
Expected “"” but found unknown token.
El cursor está aterrizando en las primeras llaves después de que se lanza el error, y puedo escapar de las llaves otra vez, por ejemplo:
\{1,1\}
... pero ambos personajes de escape terminan en mi script de shell, lo cual es malo.
Si elimino la sentencia sed final:
set tSh to "echo "" & tDur & "" | egrep -o "[0-9]+H" | sed s/H//"
... AppleScript aceptará la cadena. He probado varias configuraciones de AppleScript. quoted form of
propiedad (por Apple "s documentación), pero fue en vano.
edit: comando shell de trabajo Estoy intentando que AppleScript genere:
echo "PT1H2M21S" | egrep -o "[0-9]+M" | sed s/M// | sed -e :a -e "s/^.{1,1}$/0&/;ta"
Edición: también se agregó el ajuste de la tDur
Variable por claridad.
Cualquier ayuda apreciada!
Respuestas
0 para la respuesta № 1set tSh to "echo " & (quoted form of tDur) & " | egrep -o "[0-9]+H" | sed s/H//"
Si está en 10.10, considere usar NSTask
a través del puente AppleScriptObjC. diferente a do shell script
, te permite pasar datos a través de STDIN
, que es la forma correcta de hacer estas cosas. (Aunque, francamente, nada de esta mierda sería necesaria en primer lugar si AppleScript tuviera una biblioteca estándar que valga la pena).