Mon script qui permet de jouer des mp3, permet aussi d'afficher la liste
des mp3 déjà joués ainsi que celui en cours...
Pour que la liste des morceaux joués soit triée, j'ai amoureusement mis
au point la ligne suivante:
ls -l /proc/$pid/fd | grep "/mnt/MP3" | cut -b 62- | sort -n | cut -d /
-f 4
(après avoir fait: pid=`pidof mpg321`)
En effet, tous les fichiers de ce répertoire ont la même date/heure,
donc il est inutile d'invoquer ls avec l'option 't'
Et ça marche très bien dans une fenêtre de terminal.
J'inclus donc la ligne dans mon script et teste. Big Problem ! la liste
des morceaux joués n'est plus triées par date mais par le nom des
morceaux déjà joués (avec ACDC en tête et ZZTop à la fin donc)
Comment cela se fait-il ?
On dirait que mon script fait les 'cut' avant le 'sort'...
Peut-être dois-je détailler comment ma ligne fonctionne...
Dans /proc/399/fd, tous les fichiers sont des liens et le nom de ces
liens est un numéro. (0 pointe vers /dev/null, 1 et 2 vers /dev/console,
3 vers /etc/libao.conf, 4 vers le premier mp3 joué, 5 vers /dev/dsp, 6
vers le 2ème morceau joué et ainsi de suite, jusqu'à 57)
Exemple: 'ls -l 56' donne:
0 lr-x------ 1 hugo hugo 64 fév 24 02:27 56 ->
/mnt/MP3/Thiéfaine_89_84-88_02_Sweet_Amanite_Phalloïde_Queen.mp3
Le '| grep "/mnt/MP3"' ne garde que les lignes concernant les mp3 joués.
Le '| cut -b 62-' vire les 61 premiers octets, ainsi la liste obtenue
commence par le nom du lien (qui est un numéro je le rappelle), comme
ceci:
56 -> /mnt/MP3/Thiéfaine_89_84-88_02_Sweet_Amanite_Phalloïde_Queen.mp3
Le '| sort -n' trie donc la liste suivant le numéro du lien (c'est à
dire suivant l'ordre dans lequel les morceaux ont été joués).
Le '| cut -d / -f 4' ne garde que le 4ème champ: le nom du morceau.
Merci de m'aider à éclaircir ce mystère.
(Si une commande ne donne pas le même résultat en ligne de commande que
dans un script, où va-t-on ma bonne dame ?)
--
Il y en a qui ne savent pas déballer leur ordinateur de la boîte
d'emballage. Faudrait aussi prévoir une doc là-dessus (parce que celle
fournie avec la boîte, il y a plein de mots et pas beaucoup d'images)
-+- Jaco in Guide du Linuxien pervers - "[OUI] à fcol.deballage" -+-
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
I love cats
Bonsoir,
A mon avis, le "ls" que tu utilises en console est un alias (au hasard sur "ls -s") et donc affiche des lignes de format un peu différent de ce qu'affiche /bin/ls.
J'ai fait l'essai ici, et pour obtenir ce que tu voudrais, il faut faire un "cut -b 56-"
-- "Never ascribe to malice what can be explained by human stupidity" R. A. Heinlein
Bonsoir,
A mon avis, le "ls" que tu utilises en console est un alias (au hasard
sur "ls -s") et donc affiche des lignes de format un peu différent de
ce qu'affiche /bin/ls.
J'ai fait l'essai ici, et pour obtenir ce que tu voudrais, il faut
faire un "cut -b 56-"
--
"Never ascribe to malice what can be explained by human stupidity"
R. A. Heinlein
A mon avis, le "ls" que tu utilises en console est un alias (au hasard sur "ls -s") et donc affiche des lignes de format un peu différent de ce qu'affiche /bin/ls.
J'ai fait l'essai ici, et pour obtenir ce que tu voudrais, il faut faire un "cut -b 56-"
-- "Never ascribe to malice what can be explained by human stupidity" R. A. Heinlein
TiChou
Dans l'article news:, Hugolino écrivait :
Bonsoir
Bonsoir,
Mon script qui permet de jouer des mp3, permet aussi d'afficher la liste des mp3 déjà joués ainsi que celui en cours...
Pour que la liste des morceaux joués soit triée, j'ai amoureusement mis au point la ligne suivante: ls -l /proc/$pid/fd | grep "/mnt/MP3" | cut -b 62- | sort -n | cut -d / -f 4 (après avoir fait: pid=`pidof mpg321`)
Dans l'article news:slrnc3lale.1rp.hugolino@Deborah.RocknRoll.org,
Hugolino <hugolino@fri.fr> écrivait :
Bonsoir
Bonsoir,
Mon script qui permet de jouer des mp3, permet aussi d'afficher la liste
des mp3 déjà joués ainsi que celui en cours...
Pour que la liste des morceaux joués soit triée, j'ai amoureusement mis
au point la ligne suivante:
ls -l /proc/$pid/fd | grep "/mnt/MP3" | cut -b 62- | sort -n | cut -d /
-f 4
(après avoir fait: pid=`pidof mpg321`)
Mon script qui permet de jouer des mp3, permet aussi d'afficher la liste des mp3 déjà joués ainsi que celui en cours...
Pour que la liste des morceaux joués soit triée, j'ai amoureusement mis au point la ligne suivante: ls -l /proc/$pid/fd | grep "/mnt/MP3" | cut -b 62- | sort -n | cut -d / -f 4 (après avoir fait: pid=`pidof mpg321`)
-- Hugo NPN (i --> ee) Mais ce coup-ci, promis, c'est bon. Les réservoirs de cosmogol sont pleins, et ça va marcher. Aussi vrai que Ga et Bu font ZoMeu. -+- http://michel.arboi.free.fr/ -+-
Le Wed, 25 Feb 2004 01:37:37 +0100, TiChou a écrit:
--
Hugo NPN (i --> ee)
Mais ce coup-ci, promis, c'est bon. Les réservoirs de cosmogol sont pleins, et
ça va marcher. Aussi vrai que Ga et Bu font ZoMeu.
-+- http://michel.arboi.free.fr/ -+-
-- Hugo NPN (i --> ee) Mais ce coup-ci, promis, c'est bon. Les réservoirs de cosmogol sont pleins, et ça va marcher. Aussi vrai que Ga et Bu font ZoMeu. -+- http://michel.arboi.free.fr/ -+-
Hugolino
Le Tue, 24 Feb 2004 21:21:09 +0100, I love cats a écrit:
Bonsoir,
Bonjour
A mon avis, le "ls" que tu utilises en console est un alias (au hasard sur "ls -s") et donc affiche des lignes de format un peu différent de ce qu'affiche /bin/ls.
Arf ! Le piège delamorkitu...
Est-ce encore cette *sombre* histoire d'héritage ? Mon script s'exécute dans un sous-shell du terminal à partir duquel il est lancé, mais puisque ce n'est pas un shell de login le ~/.bashrc n'est pas lu et donc il ne connait pas, entre autre, les alias d'un shell "normal".
J'ai fait l'essai ici, et pour obtenir ce que tu voudrais, il faut faire un "cut -b 56-"
Yep
Merci
-- Hugo NPN (i --> ee) Le MLLL (mouvement lesbien pour le logiciel libre) vient de choisir Tuxette comme emblème. "Vous voulez vraiment savoir pourquoi nous avons pris une pingouine comme mascotte ?" a déclaré la leadeuse du mouvement. (zipiz.com)
Le Tue, 24 Feb 2004 21:21:09 +0100, I love cats a écrit:
Bonsoir,
Bonjour
A mon avis, le "ls" que tu utilises en console est un alias (au hasard
sur "ls -s") et donc affiche des lignes de format un peu différent de
ce qu'affiche /bin/ls.
Arf ! Le piège delamorkitu...
Est-ce encore cette *sombre* histoire d'héritage ?
Mon script s'exécute dans un sous-shell du terminal à partir duquel il
est lancé, mais puisque ce n'est pas un shell de login le ~/.bashrc
n'est pas lu et donc il ne connait pas, entre autre, les alias d'un
shell "normal".
J'ai fait l'essai ici, et pour obtenir ce que tu voudrais, il faut
faire un "cut -b 56-"
Yep
Merci
--
Hugo NPN (i --> ee)
Le MLLL (mouvement lesbien pour le logiciel libre) vient de choisir Tuxette
comme emblème. "Vous voulez vraiment savoir pourquoi nous avons pris une
pingouine comme mascotte ?" a déclaré la leadeuse du mouvement. (zipiz.com)
Le Tue, 24 Feb 2004 21:21:09 +0100, I love cats a écrit:
Bonsoir,
Bonjour
A mon avis, le "ls" que tu utilises en console est un alias (au hasard sur "ls -s") et donc affiche des lignes de format un peu différent de ce qu'affiche /bin/ls.
Arf ! Le piège delamorkitu...
Est-ce encore cette *sombre* histoire d'héritage ? Mon script s'exécute dans un sous-shell du terminal à partir duquel il est lancé, mais puisque ce n'est pas un shell de login le ~/.bashrc n'est pas lu et donc il ne connait pas, entre autre, les alias d'un shell "normal".
J'ai fait l'essai ici, et pour obtenir ce que tu voudrais, il faut faire un "cut -b 56-"
Yep
Merci
-- Hugo NPN (i --> ee) Le MLLL (mouvement lesbien pour le logiciel libre) vient de choisir Tuxette comme emblème. "Vous voulez vraiment savoir pourquoi nous avons pris une pingouine comme mascotte ?" a déclaré la leadeuse du mouvement. (zipiz.com)
Nicolas Le Scouarnec
Mon script s'exécute dans un sous-shell du terminal à partir duquel il est lancé, mais puisque ce n'est pas un shell de login le ~/.bashrc n'est pas lu et donc il ne connait pas, entre autre, les alias d'un shell "normal".
Tous les shells lisent ~/.bashrc. Le script qui n'est lu que par les shells de login est ~/.bash_profile .
-- Nicolas Le Scouarnec http://nlsn.free.fr (Slrnfr, Docs Linux/BSD, La grippe, ... )
Mon script s'exécute dans un sous-shell du terminal à partir duquel il
est lancé, mais puisque ce n'est pas un shell de login le ~/.bashrc
n'est pas lu et donc il ne connait pas, entre autre, les alias d'un
shell "normal".
Tous les shells lisent ~/.bashrc. Le script qui n'est lu que par les
shells de login est ~/.bash_profile .
--
Nicolas Le Scouarnec
http://nlsn.free.fr (Slrnfr, Docs Linux/BSD, La grippe, ... )
Mon script s'exécute dans un sous-shell du terminal à partir duquel il est lancé, mais puisque ce n'est pas un shell de login le ~/.bashrc n'est pas lu et donc il ne connait pas, entre autre, les alias d'un shell "normal".
Tous les shells lisent ~/.bashrc. Le script qui n'est lu que par les shells de login est ~/.bash_profile .
-- Nicolas Le Scouarnec http://nlsn.free.fr (Slrnfr, Docs Linux/BSD, La grippe, ... )
Erwan David
Nicolas Le Scouarnec écrivait :
Tous les shells lisent ~/.bashrc. Le script qui n'est lu que par les shells de login est ~/.bash_profile .
???
tcsh, zsh et autre ne lisent pas le .bashrc ?
-- Real programs don't eat cache
Nicolas Le Scouarnec <root@india.ath.cx.nospam.invalid> écrivait :
Tous les shells lisent ~/.bashrc. Le script qui n'est lu que par les
shells de login est ~/.bash_profile .
Tous les shells lisent ~/.bashrc. Le script qui n'est lu que par les shells de login est ~/.bash_profile . tcsh, zsh et autre ne lisent pas le .bashrc ?
Oupps, effectivement. Je voulais dire tous les shells lancés. Après, il faut adapter .zshrc .zprofile et compagnie.
-- Nicolas Le Scouarnec http://nlsn.free.fr (Slrnfr, Docs Linux/BSD, La grippe, ... )
Tous les shells lisent ~/.bashrc. Le script qui n'est lu que par les
shells de login est ~/.bash_profile .
tcsh, zsh et autre ne lisent pas le .bashrc ?
Oupps, effectivement. Je voulais dire tous les shells lancés. Après, il
faut adapter .zshrc .zprofile et compagnie.
--
Nicolas Le Scouarnec
http://nlsn.free.fr (Slrnfr, Docs Linux/BSD, La grippe, ... )
Tous les shells lisent ~/.bashrc. Le script qui n'est lu que par les shells de login est ~/.bash_profile . tcsh, zsh et autre ne lisent pas le .bashrc ?
Oupps, effectivement. Je voulais dire tous les shells lancés. Après, il faut adapter .zshrc .zprofile et compagnie.
-- Nicolas Le Scouarnec http://nlsn.free.fr (Slrnfr, Docs Linux/BSD, La grippe, ... )
Stephane Chazelas
2004-02-26, 12:31(+00), Nicolas Le Scouarnec:
Tous les shells lisent ~/.bashrc. Le script qui n'est lu que par les shells de login est ~/.bash_profile . tcsh, zsh et autre ne lisent pas le .bashrc ?
Oupps, effectivement. Je voulais dire tous les shells lancés. Après, il faut adapter .zshrc .zprofile et compagnie.
Le comportement est différent et plus complet et cohérent avec zsh.
Tous les shells lisent ~/.bashrc. Le script qui n'est lu que par les
shells de login est ~/.bash_profile .
tcsh, zsh et autre ne lisent pas le .bashrc ?
Oupps, effectivement. Je voulais dire tous les shells lancés. Après, il
faut adapter .zshrc .zprofile et compagnie.
Le comportement est différent et plus complet et cohérent avec
zsh.
Tous les shells lisent ~/.bashrc. Le script qui n'est lu que par les shells de login est ~/.bash_profile . tcsh, zsh et autre ne lisent pas le .bashrc ?
Oupps, effectivement. Je voulais dire tous les shells lancés. Après, il faut adapter .zshrc .zprofile et compagnie.
Le comportement est différent et plus complet et cohérent avec zsh.