|
|
|
![]() |
|
Strumenti |
![]() |
#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 exit 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? ![]() Grazie! ![]()
__________________
gica78r@ncc-1701:~$ tar -c tar: Codardamente mi rifiuto di creare un archivio vuoto ![]() |
![]() |
![]() |
![]() |
#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 |
![]() |
![]() |
![]() |
#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 ![]() |
![]() |
![]() |
![]() |
#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: 16:49.