On 5/22/20 5:59 AM, ptilou wrote:
Slt,

#!/bin/bash

function f_image-fusion {
ffmpeg -i $0 image%d.jpg
         }
{
   find ./ -iname \*.mp4
   echo "EOF"
                 } | {
              while true; do
              read -r i
              test "$i" = "EOF" && break
              f_image-fusion "$i"
         done
         }
Je fais cela sur dés répertoire, et j’aurai aimer rediriger la sortie de la 
fonction  f_image-fusion sur un autre répertoire que le courant, sans avoir à 
imbriquer une autre boucle est-ce que c’est possible ?


Et comment ?
Merci


Il convient de lire (en anglais) /Advanced Linux Programming/ <http://www.makelinux.net/alp/> puis syscalls(2) <http://man7.org/linux/man-pages/man2/syscalls.2.html> puis execve(2) <http://man7.org/linux/man-pages/man2/execve.2.html> puis fork(2) <http://man7.org/linux/man-pages/man2/fork.2.html> puis credentials(7) <http://man7.org/linux/man-pages/man7/credentials.7.html> puis bash(1) <http://man7.org/linux/man-pages/man1/bash.1.html>

Le répertoire courant (voir getcwd(3) <http://man7.org/linux/man-pages/man3/getcwd.3.html> ...) est propre à chaque processus <https://fr.wikipedia.org/wiki/Processus_(informatique)>. En particulier à celui créé par l’exécution de ton script ou bien à celui exécutant le shell de ton terminal.

Une possibilité serait de complexifier ton script (par exemple avec getopt(1) <http://man7.org/linux/man-pages/man1/getopt.1.html> ...) pour y ajouter une option qui modifie le répertoire courant du shell exécutant ton script.

Une suggestion serait de changer de langage de script, et prendre par exemple Guile <https://www.gnu.org/software/guile/> ou Python <https://www.python.org/> ou Lua <https://www.lua.org/>. Je les trouve tous plus lisibles et permettant des scripts plus concis et plus maintenables qu'avec bash <https://www.gnu.org/software/bash/> (ou même zsh <zsh.org>).

Bien évidemment, Guile comme Python comme Lua sont packagés par Debian.

--
Basile STARYNKEVITCH   == http://starynkevitch.net/Basile
opinions are mine only - les opinions sont seulement miennes
Bourg La Reine, France; <bas...@starynkevitch.net>
(mobile phone: cf my web page / voir ma page web...)

Reply via email to