[0.9.28.2] Linux TProcess espaces et | dans CommandLine
Bonjour,
Le code suivant fonctionne
Code:
1 2 3 4 5 6 7 8 9
| aStringList := TStringList.Create;
aProcess := TProcess.Create(nil);
aProcess.CommandLine := 'ls' ;
aProcess.Options := aProcess.Options + [poUsePipes] - [poWaitOnExit];
aProcess.Execute;
aStringList.LoadFromStream(aProcess.Output);
aProcess.Free;
aStringList.SaveToFile('output.txt');
aStringList.Free; |
Mon fichier output.text contient alors 17 lignes.
Si je remplace aProcess.CommandLine := 'ls' ; par aProcess.CommandLine := 'ls | head -5';, le fichier output.txt est vide or en console, la commande avec head -5 me retourne bien 5 lignes.
Il s'agit très vraisemblablement d'un problème d'espaces et du | qui doivent être encadrés de simples ou doubles quotes à bon escient. Mais quelle est le bonne combinaison ?
Merci. Cordialement. Gilles