App/script pour remplacer commande dans Terminal, Shell script que ça s'appelle y paraît. |
Bienvenue invité ( Connexion | Inscription )
App/script pour remplacer commande dans Terminal, Shell script que ça s'appelle y paraît. |
21 Aug 2018, 15:55
Message
#1
|
|
Macbidouilleur de bronze ! Groupe : Membres Messages : 463 Inscrit : 16 Aug 2009 Lieu : Singapour Membre no 140 683 |
Bonjour
Attention je n'y connais rien à la programmation. J'ai installé une web app pour contrôler Roon en suivant ces instructions : https://github.com/pluggemi/roon-web-controller C'est super compliqué mais une fois que ça fonctionne on se rend compte que c'est ultra simple en fait. Ça doit pour ça que les devs aiment coder, ou pas. Bref suffit de faire des copier/coller, facile la vie des devs haha! Cependant pour lancer l'app je dois à chaque fois ouvrir le Terminal et taper la commande pour lancer l'app. Je ne suis pas une machine donc j'aimerais savoir si il existe une possibilité de créer une icône ou un script qui en cliquant dessus fasse tout automatiquement. D'avance merci! -------------------- 🇸🇬 MacBook Pro 13" 2018 - Mac Mini 2018 - Panasonic TH-55FZ950S - KEF R300 & Teac AI-503 - Apple TV 4K
|
|
|
21 Aug 2018, 17:42
Message
#2
|
|
Macbidouilleur de vermeil ! Groupe : Membres Messages : 879 Inscrit : 4 Apr 2004 Lieu : Lorraine - 54 Membre no 17 184 |
Bonjour,
Quelle commande tape tu dans le terminal pour lancer ton application ? Quelle est le nom et l'extension du fichier que tu lance ? A quel endroit ce fichier est t'il stocké ? (Chemin ?) S'agit t'il d'un script shell ? Pour exécuter une commande terminal juste en cliquant sur un icone, tu peux simplement utiliser dans l'éditeur d'AppleScript la commande do shell script suivi par le nom du script à lancer avec son chemin absolu (exemple ci-dessous à supposer que le script que tu cherche à lancer s'appelle myShellScript.sh Code do shell script "/Users/path/to/file/myShellScript.sh" Sauvegarde ce court applescript en tant qu'application et ça devrait fonctionner. Un petit guide plus détaillé ici mais suivant le besoin si tu te contente de mettre ma ligne indiquée plus haut le terminal ne devrait pas apparaitre alors que le script suggéré ouvre systématiquement un terminal lors du lancement de la commande. Ce message a été modifié par teddy7545 - 21 Aug 2018, 17:44. -------------------- MP Intel Dual Xéon 3 GHz - MacOSX 10.10.3 - ATI Radeon HD 5770 - ATTO UL5D - Apple Cinema HD Display 23 pouces MBP 15' 2017 - MBP 13' mid 2009 - iMac 24' 8,1 2,8GHz - MP G4 MDD Bi 1,25 GHz - MP G4 Quicksylver 933MHz |
|
|
22 Aug 2018, 01:36
Message
#3
|
|
Macbidouilleur de bronze ! Groupe : Membres Messages : 463 Inscrit : 16 Aug 2009 Lieu : Singapour Membre no 140 683 |
Bonjour
Merci de prendre le temps de m'expliquer! La commande que je lance dans le Terminal est la suivante : Code cd roon-web-controller/ node app.js Le nom du fichier et l'extension est app.js et le chemin est : Code /Users/mba/roon-web-controller Je ne sais pas s'il s'agit d'un script Shell. J'ai essayé la commande suivante mais j'ai le message d'erreur "No such file or directory (number 127)" Code do shell script "/Users/mba/roon-web-controller/app.js.sh" Voici où est physiquement l'app : -------------------- 🇸🇬 MacBook Pro 13" 2018 - Mac Mini 2018 - Panasonic TH-55FZ950S - KEF R300 & Teac AI-503 - Apple TV 4K
|
|
|
22 Aug 2018, 07:08
Message
#4
|
|
Macbidouilleur de vermeil ! Groupe : Membres Messages : 879 Inscrit : 4 Apr 2004 Lieu : Lorraine - 54 Membre no 17 184 |
Bonjour
Dans ton cas il ne s'agit pas d'un shell script il ne faut donc pas ajouter l'extension .sh Normal que le terminal te dise donc que le répertoire ou le nom de fichier entré n'existe pas. Dans ton cas le répertoire est juste mais le fichier app.js.sh n'existe pas. Pour cela que j'avais anticipé en te demandant quel commande tu faisais et ou ton fichier se trouvait. Essai la commande suivante en remplacement dans l'éditeur applescript Code do shell script "cd /Users/mba/roon-web-controller/; node app.js" J'ai remis tes deux commandes dans la même ligne (séparée par un ; ) J'aurais également pu faire une seule commande qui lance directement app.js avec le bon chemin mais ne sachant pas le détail de ce que ça fait je préfère te conseiller d'exécuter la commande cd (change directory) comme tu as l'habitude de le faire. En une ligne ça aurait donné Code do shell script "node /Users/mba/roon-web-controller/app.js" Tu peux tester le script depuis l'éditeur d'abord. Quand ça fonctionne il faut enregistrer comme application sur ton bureau par exemple. En cliquant sur cette application la commande devrait également se lancer. Ce message a été modifié par teddy7545 - 23 Aug 2018, 09:57. -------------------- MP Intel Dual Xéon 3 GHz - MacOSX 10.10.3 - ATI Radeon HD 5770 - ATTO UL5D - Apple Cinema HD Display 23 pouces MBP 15' 2017 - MBP 13' mid 2009 - iMac 24' 8,1 2,8GHz - MP G4 MDD Bi 1,25 GHz - MP G4 Quicksylver 933MHz |
|
|
22 Aug 2018, 08:07
Message
#5
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 4 969 Inscrit : 26 Jan 2011 Lieu : Pollachius virens Membre no 164 083 |
Il y a l'excellent https://sveinbjorn.org/platypus qui permet de créer des applications à partir de scripts (shell ou autres)
-------------------- MBP 2017 15" avec clavier pourri et touchbar inutile
|
|
|
23 Aug 2018, 09:11
Message
#6
|
|
Macbidouilleur de bronze ! Groupe : Membres Messages : 463 Inscrit : 16 Aug 2009 Lieu : Singapour Membre no 140 683 |
Merci!
Mais le script ne fonctionne pas, j'ai ce message d'erreur : Code sh: node: command not found -------------------- 🇸🇬 MacBook Pro 13" 2018 - Mac Mini 2018 - Panasonic TH-55FZ950S - KEF R300 & Teac AI-503 - Apple TV 4K
|
|
|
23 Aug 2018, 09:38
Message
#7
|
|
Macbidouilleur de vermeil ! Groupe : Membres Messages : 879 Inscrit : 4 Apr 2004 Lieu : Lorraine - 54 Membre no 17 184 |
Bonjour,
Quelle commande as tu essayé ? La première ou la deuxième ? Si c'est la première et que tu l'as copié collé, essai d'effacer et de remettre l'espace devant "node" (il m'arrive d'avoir ce genre d'erreur quand j'utilise le terminal) Sinon essai aussi le deuxième script (comme il y a pas d'espace). Enfin si ça ne fonctionne pas c'est sans doute qu'il ne connait pas le chemin de la commande node (dans ce cas il faudra lui indiquer en dur dans la commande) Node n'est pas une commande standard dans OSX... tu as donc dû l'installer à un moment. Ton terminal est paramétré pour chercher les commandes à certain endroits (et lors d'installation spécifiques quelques emplacements sont ajoutés). Il est probables que le shell utilisé par applescript ne bénéficie pas de ces réglages par défauts (et ta commande n'est pas rangée dans un des endroit qu'ils connait pas défaut). Pour connaitre le chemin de ta commande tape la commande suivante dans le terminal sur lequel tu lance ton application habituellement : Code which node Par exemple pour chercher l'emplacement de ma commande sed sur mon terminal (je n'ai pas de node) je fais : Citation MacBook-Pro-de-teddy:Desktop teddy$ which sed (tapes uniquement la commande en gras) et la réponse chez moi est Citation /usr/bin/sed En transposant sur ta commande node, tu remplace node dans le script par /usr/bin/node (en prenant bien sur le chemin que tu aura obtenu toi. Ton script deviendrait alors: Code do shell script "cd /Users/mba/roon-web-controller/; /usr/bin/node app.js" ouCode do shell script "/usr/bin/node /Users/mba/roon-web-controller/app.js" Edit: je viens de me rendre compte qu'il y avait une petite erreur sur le deuxième script du message 4 d'hier --> corrigé ici et dans le message 4 aussi Ce message a été modifié par teddy7545 - 23 Aug 2018, 10:01. -------------------- MP Intel Dual Xéon 3 GHz - MacOSX 10.10.3 - ATI Radeon HD 5770 - ATTO UL5D - Apple Cinema HD Display 23 pouces MBP 15' 2017 - MBP 13' mid 2009 - iMac 24' 8,1 2,8GHz - MP G4 MDD Bi 1,25 GHz - MP G4 Quicksylver 933MHz |
|
|
23 Aug 2018, 10:45
Message
#8
|
|
Macbidouilleur de bronze ! Groupe : Membres Messages : 463 Inscrit : 16 Aug 2009 Lieu : Singapour Membre no 140 683 |
En suivant tes instructions, j'obtiens ce résultat :
Code do shell script "/Users/mba/roon-web-controller/usr/local/bin/node app.js" Mais j'ai cette erreur : Code sh: /Users/mba/roon-web-controller/usr/local/bin/node: No such file or directory
-------------------- 🇸🇬 MacBook Pro 13" 2018 - Mac Mini 2018 - Panasonic TH-55FZ950S - KEF R300 & Teac AI-503 - Apple TV 4K
|
|
|
23 Aug 2018, 10:52
Message
#9
|
|
Macbidouilleur de vermeil ! Groupe : Membres Messages : 879 Inscrit : 4 Apr 2004 Lieu : Lorraine - 54 Membre no 17 184 |
Tu as fais un petit mélange entre le script 1 et le 2 ...
La réponse est sans pitié il te dit qu'il n'existe pas de fichier node dans le chemin /Users/mba/roon-web-controller/usr/local/bin/ que tu lui as indiqué ... Essais plutôt: Code do shell script "cd /Users/mba/roon-web-controller/; /usr/local/bin/node app.js" ouCode /usr/local/bin/node /Users/mba/roon-web-controller/app.js Dans le premier on change de répertoire (pour se placer la ou le programme app.js se trouve) et ensuite on lance app.js par la commande node (en décrivant son chemin complet). Dans le deuxième on lance node avec son chemin complet en lui donnant comme paramètre le chemin complet de app.js Ce message a été modifié par teddy7545 - 23 Aug 2018, 11:04. -------------------- MP Intel Dual Xéon 3 GHz - MacOSX 10.10.3 - ATI Radeon HD 5770 - ATTO UL5D - Apple Cinema HD Display 23 pouces MBP 15' 2017 - MBP 13' mid 2009 - iMac 24' 8,1 2,8GHz - MP G4 MDD Bi 1,25 GHz - MP G4 Quicksylver 933MHz |
|
|
23 Aug 2018, 11:02
Message
#10
|
|
Macbidouilleur de bronze ! Groupe : Membres Messages : 463 Inscrit : 16 Aug 2009 Lieu : Singapour Membre no 140 683 |
Ah ah, oui j'ai plus de facilité avec les cocktails que les trucs informatiques
La première commande indique : Code Un(e) « / » ne peut pas se trouver ici. La deuxiéme : Code Error: listen EADDRINUSE :::8080
at Object._errnoException (util.js:992:11) at _exceptionWithHostPort (util.js:1014:20) at Server.setupListenHandle [as _listen2] (net.js:1355:14) at listenInCluster (net.js:1396:12) at Server.listen (net.js:1480:7) at Object.<anonymous> (/Users/mba/roon-web-controller/app.js:80:8) at Module._compile (module.js:652:30) at Object.Module._extensions..js (module.js:663:10) at Module.load (module.js:565:32) at tryModuleLoad (module.js:505:12)" number 1 -------------------- 🇸🇬 MacBook Pro 13" 2018 - Mac Mini 2018 - Panasonic TH-55FZ950S - KEF R300 & Teac AI-503 - Apple TV 4K
|
|
|
23 Aug 2018, 12:56
Message
#11
|
|
Macbidouilleur de vermeil ! Groupe : Membres Messages : 879 Inscrit : 4 Apr 2004 Lieu : Lorraine - 54 Membre no 17 184 |
Citation La première commande indique : Citation Un(e) « / » ne peut pas se trouver ici. Etrange, je ne vois pas trop quel / ne serait pas bien placé ou ne pourrait pas être là. Vérifie bien qu'il n'y a pas d'erreur à la saisie de la commande ou qu'il manque pas un slash ou un "double quote" Code do shell script "cd /Users/mba/roon-web-controller/; /usr/local/bin/node app.js" Normalement il devrait y avoir un petit signe sous le slash en question pour indiquer de quel slash on parle.A défaut essai de poster une vu d'écran de l'éditeur Applescript avec la commande et le message d'erreur. Pour la deuxième c'est j'ai été un peu vite (la faim sans doute) et oublié d'ajouter le do shell script et les doubles quote autour de la commande. La commande entière doit donc être: Code do shell script "/usr/local/bin/node /Users/mba/roon-web-controller/app.js"
Ce message a été modifié par teddy7545 - 23 Aug 2018, 12:58. -------------------- MP Intel Dual Xéon 3 GHz - MacOSX 10.10.3 - ATI Radeon HD 5770 - ATTO UL5D - Apple Cinema HD Display 23 pouces MBP 15' 2017 - MBP 13' mid 2009 - iMac 24' 8,1 2,8GHz - MP G4 MDD Bi 1,25 GHz - MP G4 Quicksylver 933MHz |
|
|
23 Aug 2018, 13:17
Message
#12
|
|
Macbidouilleur de bronze ! Groupe : Membres Messages : 463 Inscrit : 16 Aug 2009 Lieu : Singapour Membre no 140 683 |
Il doit y avoir quelque chose de cassé dans le script car même en mode "manuel", j'ai cette erreur :
Code Last login: Thu Aug 23 18:17:08 on ttys000
MBA:~ mba$ node app.js module.js:549 throw err; ^ Error: Cannot find module '/Users/mba/app.js' at Function.Module._resolveFilename (module.js:547:15) at Function.Module._load (module.js:474:25) at Function.Module.runMain (module.js:693:10) at startup (bootstrap_node.js:191:16) at bootstrap_node.js:612:3 MBA:~ mba$ cd roon-web-controller/ MBA:roon-web-controller mba$ node app.js Working directory: /Users/mba/roon-web-controller events.js:183 throw er; // Unhandled 'error' event ^ Error: listen EADDRINUSE :::8080 at Object._errnoException (util.js:992:11) at _exceptionWithHostPort (util.js:1014:20) at Server.setupListenHandle [as _listen2] (net.js:1355:14) at listenInCluster (net.js:1396:12) at Server.listen (net.js:1480:7) at Object.<anonymous> (/Users/mba/roon-web-controller/app.js:80:8) at Module._compile (module.js:652:30) at Object.Module._extensions..js (module.js:663:10) at Module.load (module.js:565:32) at tryModuleLoad (module.js:505:12) MBA:roon-web-controller mba$ -------------------- 🇸🇬 MacBook Pro 13" 2018 - Mac Mini 2018 - Panasonic TH-55FZ950S - KEF R300 & Teac AI-503 - Apple TV 4K
|
|
|
23 Aug 2018, 13:26
Message
#13
|
|
Macbidouilleur de vermeil ! Groupe : Membres Messages : 879 Inscrit : 4 Apr 2004 Lieu : Lorraine - 54 Membre no 17 184 |
EADDRINUSE --> A priori tu cherches (enfin ton app.js) à utiliser un port qui est déjà utilisé.
Ferme peut être la session et rouvres là ou alors redémarre l'ordi pour tester. Toujours pas compris pourquoi ta première commande ne fonctionne pas. Dans la deuxième, peut être avais dû pensé à ajouter le Do Shell Script car elle semble avoir bien lancé node même si ensuite il y a eu une erreur. (port déjà occupé) Ce message a été modifié par teddy7545 - 24 Aug 2018, 06:51. -------------------- MP Intel Dual Xéon 3 GHz - MacOSX 10.10.3 - ATI Radeon HD 5770 - ATTO UL5D - Apple Cinema HD Display 23 pouces MBP 15' 2017 - MBP 13' mid 2009 - iMac 24' 8,1 2,8GHz - MP G4 MDD Bi 1,25 GHz - MP G4 Quicksylver 933MHz |
|
|
24 Aug 2018, 04:55
Message
#14
|
|
Macbidouilleur de bronze ! Groupe : Membres Messages : 463 Inscrit : 16 Aug 2009 Lieu : Singapour Membre no 140 683 |
Code do shell script "/usr/local/bin/node /Users/mba/roon-web-controller/app.js" Ca fonctionne!!! Trop content, merci beaucoup pour ton aide et ta patience! -------------------- 🇸🇬 MacBook Pro 13" 2018 - Mac Mini 2018 - Panasonic TH-55FZ950S - KEF R300 & Teac AI-503 - Apple TV 4K
|
|
|
24 Aug 2018, 07:05
Message
#15
|
|
Macbidouilleur de vermeil ! Groupe : Membres Messages : 879 Inscrit : 4 Apr 2004 Lieu : Lorraine - 54 Membre no 17 184 |
Excellente nouvelle ...merci pour ton retour
Peux tu tout de même préciser qu'indique ta ligne "Working directory:" lors du lancement (dans l'éditeur Applescript). Lorsque tu le lance en manuel, j'ai vu que tu obtenais la ligne "Working directory: /Users/mba/roon-web-controller" A priori le shell utilisé par Applescript se lance dans le répertoire racine du disque "/" Comme on ne fait pas de cd, je ne sais donc pas comment il va intégrer le working directory (là ou il se trouve au lancement ou alors là ou il va trouver le app.js --> ça dépend surement du programme) Vérifie donc également qu'il n'y a pas des fichiers nouveaux qui apparaissent à la racine de ton disque (en rapport avec ton application). Pour vérifier si ce n'est pas non plus des fichiers cachés tu peux faire dans le Terminal : Code ls -al / Tous les fichiers devraient être en principe root à ce niveau (s'il y en a d'autres ça pourrait être un signe) C'est la raison pourquoi je préférais te guider vers le premier script qu'on a pas réussi à faire fonctionner (mais je comprend toujours pas la raison --> le cd avant devrait aussi fonctionner normalement) Ce message a été modifié par teddy7545 - 24 Aug 2018, 08:02. -------------------- MP Intel Dual Xéon 3 GHz - MacOSX 10.10.3 - ATI Radeon HD 5770 - ATTO UL5D - Apple Cinema HD Display 23 pouces MBP 15' 2017 - MBP 13' mid 2009 - iMac 24' 8,1 2,8GHz - MP G4 MDD Bi 1,25 GHz - MP G4 Quicksylver 933MHz |
|
|
24 Aug 2018, 08:57
Message
#16
|
|
Macbidouilleur de bronze ! Groupe : Membres Messages : 463 Inscrit : 16 Aug 2009 Lieu : Singapour Membre no 140 683 |
Voici :
Code Last login: Fri Aug 24 11:52:43 on ttys000 MBA:~ mba$ ls -al / total 69 drwxr-xr-x 30 root wheel 1088 20 aoû 00:37 . drwxr-xr-x 30 root wheel 1088 20 aoû 00:37 .. -rw-rw-r-- 1 root admin 10244 21 aoû 21:38 .DS_Store d--x--x--x 8 root wheel 272 24 aoû 11:37 .DocumentRevisions-V100 drwxr-xr-x@ 2 root wheel 68 21 aoû 22:18 .PKInstallSandboxManager-SystemSoftware drwx------ 5 root wheel 170 16 aoû 17:40 .Spotlight-V100 ---------- 1 root admin 0 21 fév 2017 .file drwx------ 128 root wheel 4352 23 aoû 22:10 .fseventsd drwxr-xr-x@ 2 root wheel 68 21 fév 2017 .vol drwxrwxr-x+ 42 root admin 1428 21 aoû 17:41 Applications drwxr-xr-x+ 59 root wheel 2006 21 aoû 22:18 Library drwxr-xr-x@ 2 root wheel 68 21 fév 2017 Network drwxr-xr-x@ 4 root wheel 136 20 aoû 00:40 System drwxr-xr-x 5 root admin 170 16 aoû 17:42 Users drwxr-xr-x@ 4 root wheel 136 24 aoû 11:37 Volumes drwxr-xr-x@ 38 root wheel 1292 20 aoû 00:40 bin drwxrwxr-t@ 2 root admin 68 21 fév 2017 cores dr-xr-xr-x 3 root wheel 4224 24 aoû 11:37 dev lrwxr-xr-x@ 1 root wheel 11 16 aoû 17:34 etc -> private/etc dr-xr-xr-x 2 root wheel 1 24 aoû 11:42 home -rw-r--r--@ 1 root wheel 313 22 déc 2016 installer.failurerequests dr-xr-xr-x 2 root wheel 1 24 aoû 11:42 net drwxr-xr-x@ 6 root wheel 204 16 aoû 17:36 private drwxr-xr-x@ 63 root wheel 2142 20 aoû 00:40 sbin lrwxr-xr-x@ 1 root wheel 11 16 aoû 17:34 tmp -> private/tmp drwxr-xr-x@ 10 root wheel 340 21 aoû 22:18 usr lrwxr-xr-x@ 1 root wheel 11 16 aoû 17:35 var -> private/var drwxr-xr-x 3 root wheel 102 16 aoû 17:35 vm MBA:~ mba$ Est-ce normal d'avoir des dates antérieures à Août alors que j'ai reformaté et ré-installé le Mac ce mois-ci? -------------------- 🇸🇬 MacBook Pro 13" 2018 - Mac Mini 2018 - Panasonic TH-55FZ950S - KEF R300 & Teac AI-503 - Apple TV 4K
|
|
|
24 Aug 2018, 09:15
Message
#17
|
|
Macbidouilleur de vermeil ! Groupe : Membres Messages : 879 Inscrit : 4 Apr 2004 Lieu : Lorraine - 54 Membre no 17 184 |
Oui à priori pas de soucis (probablement des dates reportées des répertoires copiés depuis l'installeur)
Chez moi j'ai aussi des dates antérieures à mon installation. A priori pas de fichier curieux .. peut être bon signe. As tu regardé ce que donne l'information working directory ? -------------------- MP Intel Dual Xéon 3 GHz - MacOSX 10.10.3 - ATI Radeon HD 5770 - ATTO UL5D - Apple Cinema HD Display 23 pouces MBP 15' 2017 - MBP 13' mid 2009 - iMac 24' 8,1 2,8GHz - MP G4 MDD Bi 1,25 GHz - MP G4 Quicksylver 933MHz |
|
|
26 Aug 2018, 04:40
Message
#18
|
|
Macbidouilleur de bronze ! Groupe : Membres Messages : 463 Inscrit : 16 Aug 2009 Lieu : Singapour Membre no 140 683 |
Le résultat de
Code "Working directory:" est Code "Working directory:" dans l'éditeur de Script. Sinon à chaque fois que je lance le script j'ai dans le moniteur d'activité "ne réponds pas" mais ça fonctionne tout de même : Screen_Shot_2018_08_26_at_11.37.13_AM.png ( 387.78 Ko ) Nombre de téléchargements : 4 -------------------- 🇸🇬 MacBook Pro 13" 2018 - Mac Mini 2018 - Panasonic TH-55FZ950S - KEF R300 & Teac AI-503 - Apple TV 4K
|
|
|
Nous sommes le : 19th April 2024 - 20:43 |