Il y a quelques mois, Ph. Ivaldi m'avait fourni un script permettant de
déterminer si un fichier donné contient les chaînes de
caractères "\begin{pspicture}" ou "\includegraphics{.eps}".
Le voici :
#!/bin/sh
if sed -r 's/([^\]|^)%.*//g' "$1" |\
awk -v FS="^Z" "/\\\begin{document}/,/\\\end{document}/" |\
grep -Eq "(^ *\\\begin{pspicture})|(\\\includegraphics{.*\.eps})"; then
touch /tmp/contientpspicture
echo "oui pstpdf "
else # on teste l'existence avant de supprimer...
[[ -e /tmp/contientpspicture ]] && rm -f /tmp/contientpspicture
echo "non pas pstpdf "
fi
Mais bizarrement, suite à une mise à jour sur un portable (Kubuntu 6.06),
j'obtiens l'erreur suivante, alors qu'il fonctionnait très bien avant :
$ contient_pstpdf essai.tex
/home/meloli/bin/latex/contient_pstpdf: 11: [[: not found
non pas pstpdf
Le problème semble donc venir de [[ -e /tmp/contientpspicture ]]
qui, si ma mémoire est bonne, est censé tester la présence du fichier avant
de le supprimer.
Au pire, je supprimerai cette partie, mais malgré tout
quelqu'un peut-il résoudre ce problème ?
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
Luc.Habert.00__arjf
Olivier V :
$ contient_pstpdf essai.tex /home/meloli/bin/latex/contient_pstpdf: 11: [[: not found non pas pstpdf
Remplace ce « [[ » par « [ » et le « ]] » fermant par « ] ». Ou alors, remplace la première ligne par « #!/bin/bash ». Le « [[ ... ]] » est une construction de bash et non du sh standard. Ça marchait avant, probablement parce que /bin/sh était un symlink pointant vers bash. Avec l'upgrade, c'est peut-être devenu un symlink pointant vers dash, ou alors, le mode sh de bash est devenu plus strict qu'avant avec la nouvelle version.
Olivier V :
$ contient_pstpdf essai.tex
/home/meloli/bin/latex/contient_pstpdf: 11: [[: not found
non pas pstpdf
Remplace ce « [[ » par « [ » et le « ]] » fermant par « ] ». Ou alors,
remplace la première ligne par « #!/bin/bash ». Le « [[ ... ]] » est une
construction de bash et non du sh standard. Ça marchait avant, probablement
parce que /bin/sh était un symlink pointant vers bash. Avec l'upgrade, c'est
peut-être devenu un symlink pointant vers dash, ou alors, le mode sh de bash
est devenu plus strict qu'avant avec la nouvelle version.
$ contient_pstpdf essai.tex /home/meloli/bin/latex/contient_pstpdf: 11: [[: not found non pas pstpdf
Remplace ce « [[ » par « [ » et le « ]] » fermant par « ] ». Ou alors, remplace la première ligne par « #!/bin/bash ». Le « [[ ... ]] » est une construction de bash et non du sh standard. Ça marchait avant, probablement parce que /bin/sh était un symlink pointant vers bash. Avec l'upgrade, c'est peut-être devenu un symlink pointant vers dash, ou alors, le mode sh de bash est devenu plus strict qu'avant avec la nouvelle version.
Olivier V
Remplace ce « [[ » par « [ » et le « ]] » fermant par « ] ». Ou alors, remplace la première ligne par « #!/bin/bash ». Le « [[ ... ]] » est une construction de bash et non du sh standard.
C'était ça. Merci.
Olivier V
Remplace ce « [[ » par « [ » et le « ]] » fermant par « ] ». Ou alors,
remplace la première ligne par « #!/bin/bash ». Le « [[ ... ]] » est une
construction de bash et non du sh standard.
Remplace ce « [[ » par « [ » et le « ]] » fermant par « ] ». Ou alors, remplace la première ligne par « #!/bin/bash ». Le « [[ ... ]] » est une construction de bash et non du sh standard.