Je veux lire une application de vin en passant un fichier comme argument. J'ai deux fichiers, avec le premier je n'ai pas de problème, mais quand il y a un espace dans le chemin, vin ne peut pas gérer l'adresse correctement voici ces deux fichiers:
/home/op/Doc/test.pdf
/ home / op / Doc / test vs space.pdf
À partir de la ligne de commande, je peux lancer l'application avec les deux fichiers à l'aide de la commande suivante:
[/home/op@box ~]: wine "C:\Program Files\Tracker Software\PDF Viewer\PDFXCview.exe" "z:Docs/test.pdf"
[/home/op@box ~]: wine "C:\Program Files\Tracker Software\PDF Viewer\PDFXCview.exe" "z:Docs/test vs space.pdf"
mais quand je veux mettre cela dans un script (à lire plus tard avec un autre programme, ranger), je ne peux pas lancer le programme avec des fichiers de test. Le premier script fonctionne bien avec ceux qui n'ont pas d'espace dans l'adresse mais le second ne fonctionne pas et lance simplement l'application sans ouvrir le fichier pdf:
Script 1: travail sans espace:
#!/bin/bash
Filename="z:${1//\//\\}"
wine "C:\Program Files\Tracker Software\PDF Viewer\PDFXCview.exe" $Filename
Script 2: ne fonctionne dans aucun des cas
#!/bin/bash
Filename="z:${1//\//\\}"
Filename='"'$Filename'"'
wine "C:\Program Files\Tracker Software\PDF Viewer\PDFXCview.exe" $Filename
echo $Filename
Je ne peux pas comprendre où est le problème avec le script (par rapport aux commandes émises manuellement dans le shell). Le second script n'ouvre aucun type de fichier, avec ou sans espace dans l'adresse.
p.s. il y a aussi des scripts similaires ici mais ils souffrent du même problème, c’est-à-dire qu’ils ne peuvent pas non plus lancer le pdf avec un espace dans l’adresse.