Auteur | Message |
---|---|
Beau Parleur
![]() |
Bonjour, j'ai une autre question a propos des nom de fichier contenant des espace sur un système Gnu/Linux que je passe à spawn et la command "ls" par exemple me renvois un message d'eereur.
J'ai protégé les espace avec des '\', du coup ls prend bien le nom de fichier comme il doit mais le fichier n'existe pas. "ls base\ name" renvoit not found pour "base name" Merci pour votre aide. |
Administrateur
![]() |
J’ai déplacé dans « Informatique, réseaux et Internet », comme ce n’est pas en rapport avec Ada.
Pour la commande, il faudrait que tu la poste littéralement, parce que les guillemets s’interprètent aussi, et je ne sais pas s’ils sont inclus ou pas dans la commande. Il faudrait aussi préciser pour quel shell. Tu peux utiliser cet balisage : [ code ] [ / code ] (sans les espaces). |
Beau Parleur
![]() |
Si si, c'est fait avec Ada, j'appelle spawn qui se passe de shell si non je pourais tapper "cd" et ça marcherait.
Bref je passe à ls un nom de ficher avec des espace, la questio et comment faire pour que ça passe. Ls me répond : Citation :
file not found. |
Beau Parleur
![]() |
J'ai trouvé, c'était Argument_List_To_String qui cindait les nom de fichier avec espace en plusieurs arg.
Du coup après je supprime les '"' que j'ai ajouté avant pour pas que Argument_List_To_String me coupe les nom de fichier avent de passer le l'argument à spawn. Merci. |
Beau Parleur
![]() |
Bonjour, bonjour Hibou, et Bonjour Zen au cas ou vous ne saviez pas ou aller....
J'éhsite à creer un nouveau sujet pour une nouvelle question connexe. Mais sensiblement un autre problème qui merite toute mon attention. Je cherche comment passe la commande Gnu/Linux "find" à spawn avec Ada évidemment. J'utilise spawn en passant chaque argument dans un tableau d'argument sauf le 0 en C qui est le premier donc la commande que spawn attend dans un autre paramètre. Ma commande vous pensez bien ne se limite pas à find ; C'est avec -exec que ça me renvoit : Missing argument to '-exec. Ma commande exact avec un ficher ./TODO dans le répertoire courant est : Citation : find . -name TODO -exec grep command {} \; Le message de retour est : Citation : /usr/bin/find: missing argument to `-exec' Chacune des espaces de la ligne de commande séparant chacun des arguments. passé dans le tableau d'argument à spawn de la manière suivante avec Ada Source Ada :function Spawn(Line : in String) return Spawn_Result_Type is En fait je suis en train de remarquer que j'ai utilisé Non_Blocking_Spawn. C'est probablement pour une bonne raison. Je suis sur Gnu/Linux Debian jessie j'utilise Gnat 4.9.2. Si vous avez un tuyau, n'importe quelle piste, je suis planté avec cet -exec. Mon programme complet à jour est sur Sourceforge sous le nom de projet GnuArchman. Merci pour vos réponses. |
Beau Parleur
![]() |
Bonjour,
J'ai réussi à passer l'argument exec de find à spawn. J'ai pas du changer grand chose. Je me demand si find n'a pas été modifié. En tout cas ça marche. Merci à tout le monde. |