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...)