#1 Le 16/07/2012, à 17:36
- vanilla38
Problème de sortie pour un script shell
Bonjour, je m'arrache les cheveux depuis 3 heures sur un problème qui reste sans réponse
Voici un script shell qui récupère le nom d'une vidéo Youtube en fonction de son URL et traduit les caractères accentués de la chaîne retournée en caractères sans accents puis l'affiche à l'écran (requiert youtube-dl et unaccent):
#!/bin/bash
# lol
#
# purpose: lol
# author: lol
# e-mail: lol@lol.lol
# web: http://lol.lol/
# date: 05/07/2191
# modified: Mon 15 Jan 2191 00:00:00
#
# obs:
#
title=$(youtube-dl --title --max-quality=38 --get-filename ${url} | unaccent ISO-8859-1) # Récupération du nom du fichier
echo $title
Ce script fonctionne trés bien cependant lorsque que je cherche a récupérer cette même chaîne dans une base de données MYSQL ou dans un fichier en utilisant la commande:
echo $title >> nomdevideo.txt
J'obtient le nom de la vidéo avec les accents alors qu'ils devraient être supprimés et de manière corrompue comme ceci:
Publicité_Guigoz_-_Parlons_Bébé-epBpUUNFnVs.mp3
Merci de votre aide, si quelqu'un aurait un moyen de faire sortir ma variable de la bonne manière ce serait cool
Bonne journée.
Hors ligne
#2 Le 16/07/2012, à 17:57
- Postmortem
Re : Problème de sortie pour un script shell
Salut,
title=$(youtube-dl --title --max-quality=38 --get-filename ${url} | unaccent ISO-8859-1)
C'est peut-être une erreur de copier-coller mais je ne voir nulle part dans ton script l'initialisation de cette variable...
Sinon, tu pourrais essayer comme ceci pour le echo :
echo "$title" >> nomdevideo.txt
Ou alors à la place du echo :
printf '%s\n' "$title" >> nomdevideo.txt
Mot' a dit : « Un Hellfest sans Slayer, c'est comme une galette-saucisse sans saucisse ! »
Hors ligne
#3 Le 16/07/2012, à 18:00
- Yannou90
Re : Problème de sortie pour un script shell
Bonjour
J'utilise egalement youtube-dl et je n'ai aucun soucis , je suis sous xubuntu 12.04
Essaies çà :
youtube-dl -l --get-filename -g "$URL"
Hors ligne
#4 Le 16/07/2012, à 18:57
- Bousky
Re : Problème de sortie pour un script shell
Je ne pense pas que ton problème vienne de là, mais met des guillemets doubles autour des variables, ça ne peut pas faire de mal.
Linux qui plante complètement ? Plus rien ne répond ? On peut toujours le redémarrer proprement :
Alt + SysRq + REISUB (Retourne En Islande Sur Un Bateau !)
Hors ligne
#5 Le 16/07/2012, à 23:49
- vanilla38
Re : Problème de sortie pour un script shell
Merci de vos réponses, j'ai finalement trouvé ce qui posait problème mais toujours pas de solution, quand j’exécute mon script via la console, il fonctionne parfaitement cependant c'est en l'utilisant VIA php que le problème survient. je vous éxplique:
voici ma commande:
sudo -u www-data ./mp3/submiturl.sh "URL DE LA VIDEO"
en la tapant dans la console elle fonctionne.
mon script php lance la meme commande de la sorte:
$cmd = "sudo -u www-data ./mp3/submiturl.sh ".$v2;
$cmd_secure = escapeshellcmd($cmd);
exec($cmd_secure);
et le problème survient :x merci de votre aide ^^ si jamais quelqu'un a une autre piste avec ces nouveaux éléments xD
Hors ligne