Soy nuevo en el shell script y recientemente escribí un script para abrir una nueva ventana de terminal y ejecutar funciones definidas a través de osascript con "do shell script", pero el resultado mostró el comando no encontrado. Mi script es el siguiente:
#!/bin/bash
hello() {
echo "Hello World"
}
openNewWindowAndRun() {
osascript -e "
tell application \"Terminal\"
activate
do script \"$1\"
end tell
"
}
openNewWindowAndRun hello
También he intentado llamar directamente al hello
en la función openNewWindowAndRun
pero no tuvo suerte:
#!/bin/bash
hello() {
echo "Hello World"
}
openNewWindowAndRun() {
osascript -e "
tell application \"Terminal\"
activate
do script \"hello\"
end tell
"
}
openNewWindowAndRun
Cuando ejecuté el script, abrió la nueva ventana con éxito pero mostró el mensaje de error:
¿Alguien sabe qué parte me he perdido aquí? ¿Es posible pasar una función definida como parámetro a osascript? Si alguien puede echarme una mano, ¡sería genial!