| 
 | |||||||
| 
 | 
|  | 
|  | 
|  | Strumenti | 
|  20-09-2007, 00:21 | #1 | 
| Senior Member Iscritto dal: Mar 2005 
					Messaggi: 1653
				 | 
				
				Bash script: testare l'esistenza di un comando
			 
		Ciao bacarospi!    La mia mente malata ha appena partorito il primo script leggermente più complicato di un Codice: #!/bin/bash echo "Ciao mondo" Codice: #!/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
exitPrima 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?  Grazie!   
				__________________ gica78r@ncc-1701:~$ tar -c tar: Codardamente mi rifiuto di creare un archivio vuoto   | 
|   |   | 
|  20-09-2007, 00:27 | #2 | 
| Senior Member Iscritto dal: Apr 2000 Città: Roma 
					Messaggi: 15625
				 | 
		Usa which; ad es. which webcpp >/dev/null || exit 
				__________________ 0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 | 
|   |   | 
|  20-09-2007, 00:29 | #3 | 
| Senior Member Iscritto dal: Mar 2005 
					Messaggi: 1653
				 |   Grazie mille!   
				__________________ gica78r@ncc-1701:~$ tar -c tar: Codardamente mi rifiuto di creare un archivio vuoto   | 
|   |   | 
|  20-09-2007, 00:41 | #4 | 
| Senior Member Iscritto dal: Mar 2005 
					Messaggi: 1653
				 | 
		Quale versione è migliore? Codice: if [[ ! `which webcpp 2>/dev/null` ]] then echo "webcpp non trovato. Esco!" exit fi Codice: which webcpp>/dev/null || { echo "webcpp non trovato. Esco!"; exit; }  
				__________________ gica78r@ncc-1701:~$ tar -c tar: Codardamente mi rifiuto di creare un archivio vuoto   | 
|   |   | 
|   | 
| Strumenti | |
| 
 | 
 | 
Tutti gli orari sono GMT +1. Ora sono le: 13:12.









 
		 
		 
		 
		








 
  
 



 
                        
                        










