Gica78R
19-09-2007, 23:21
Ciao bacarospi! :p
La mia mente malata ha appena partorito il primo script leggermente più complicato di un
#!/bin/bash
echo "Ciao mondo"
Lo riporto qui di seguito:
#!/bin/bash
# makehtml.sh
# Author: Gica78R
# This script takes all .c and .h source files in the
# current directory and generates the corresponding
# html files using the webcpp program. Output files
# will be stored in the html subdirectory. An eventually
# existing html subdirectory will be deleted.
DEST=html # destination directory
if [[ $# -gt 0 ]]
then
echo "Non sono consentiti parametri"
exit
fi
if [[ -e "${DEST}" ]]
then if [[ -d "${DEST}" ]]
then
echo "Rimuovo la vecchia directory \"${DEST}\""
rm -Rf "${DEST}"
else
echo "\"${DEST}\" non è una directory. Rimuoverla manualmente e rieseguire lo script!"
exit
fi
else
echo "La directory \"${DEST}\" non esiste, la creo"
fi
mkdir html
for arg in `ls *.c *.h`
do
webcpp "${arg}" "${DEST}/${arg}.html" -l -m
done
exit
In pratica, come ho scritto con il mio fluentissimo inglese nei commenti, lo script prende tutti i file con estensione .c e .h e, con il comando webcpp, genera la corrispondente versione html.
Prima che faccia ciò, però, vorrei inserire il codice per controllare l'esistenza nel sistema, e in particolare nel PATH dell'utente che lancia lo script, del programma webcpp. Esiste un modo rapido per farlo? Se uso la condizione -e in un if credo controlli solo nella directory corrente; usando invece il pathname assoluto la cosa è poco pratica, perché su alcuni sistemi magari il programma è installato in una directory non standard...
Suggerimenti? :D
Grazie! :)
La mia mente malata ha appena partorito il primo script leggermente più complicato di un
#!/bin/bash
echo "Ciao mondo"
Lo riporto qui di seguito:
#!/bin/bash
# makehtml.sh
# Author: Gica78R
# This script takes all .c and .h source files in the
# current directory and generates the corresponding
# html files using the webcpp program. Output files
# will be stored in the html subdirectory. An eventually
# existing html subdirectory will be deleted.
DEST=html # destination directory
if [[ $# -gt 0 ]]
then
echo "Non sono consentiti parametri"
exit
fi
if [[ -e "${DEST}" ]]
then if [[ -d "${DEST}" ]]
then
echo "Rimuovo la vecchia directory \"${DEST}\""
rm -Rf "${DEST}"
else
echo "\"${DEST}\" non è una directory. Rimuoverla manualmente e rieseguire lo script!"
exit
fi
else
echo "La directory \"${DEST}\" non esiste, la creo"
fi
mkdir html
for arg in `ls *.c *.h`
do
webcpp "${arg}" "${DEST}/${arg}.html" -l -m
done
exit
In pratica, come ho scritto con il mio fluentissimo inglese nei commenti, lo script prende tutti i file con estensione .c e .h e, con il comando webcpp, genera la corrispondente versione html.
Prima che faccia ciò, però, vorrei inserire il codice per controllare l'esistenza nel sistema, e in particolare nel PATH dell'utente che lancia lo script, del programma webcpp. Esiste un modo rapido per farlo? Se uso la condizione -e in un if credo controlli solo nella directory corrente; usando invece il pathname assoluto la cosa è poco pratica, perché su alcuni sistemi magari il programma è installato in una directory non standard...
Suggerimenti? :D
Grazie! :)