Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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 sad
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 wink

Bonne journée.

Hors ligne

#2 Le 16/07/2012, à 17:57

Postmortem

Re : Problème de sortie pour un script shell

Salut,

ton script a écrit :

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