Je suis nouveau dans le shell script et j'ai récemment écrit un script pour ouvrir une nouvelle fenêtre de terminal et exécuter des fonctions définies via osascript avec "do shell script", mais le résultat a montré la commande non trouvée. Mon script est comme ci-dessous :
#!/bin/bash
hello() {
echo "Hello World"
}
openNewWindowAndRun() {
osascript -e "
tell application \"Terminal\"
activate
do script \"$1\"
end tell
"
}
openNewWindowAndRun hello
J'ai également essayé d'appeler directement le hello
dans le openNewWindowAndRun
mais n'a pas eu de chance :
#!/bin/bash
hello() {
echo "Hello World"
}
openNewWindowAndRun() {
osascript -e "
tell application \"Terminal\"
activate
do script \"hello\"
end tell
"
}
openNewWindowAndRun
Lorsque j'ai exécuté le script, il a ouvert la nouvelle fenêtre avec succès mais a affiché le message d'erreur :
Quelqu'un sait-il quelle partie j'ai manqué ici ? Est-il possible de passer une fonction définie comme paramètre à osascript ? Si quelqu'un peut me donner un coup de main, ce serait génial !