Torna indietro   Hardware Upgrade Forum > Software > Linux, Unix, OS alternativi

Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco
Deebot X11 Omnicyclone implementa tutte le ultime tecnologie Ecovacs per l'aspirazione dei pavimenti di casa e il loro lavaggio, con una novità: nella base di ricarica non c'è più il sacchetto di raccolta dello sporco, sostituito da un aspirapolvere ciclonico che accumula tutto in un contenitore rigido
Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio
Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio
Grazie ad un mocio rotante che viene costantemente bagnato e pulito, Narwal Flow assicura un completo e capillare lavaggio dei pavimenti di casa. La logica di intellignza artificiale integrata guida nella pulizia tra i diversi locali, sfruttando un motore di aspirazione molto potente e un sistema basculante per la spazzola molto efficace sui tappeti di casa
Panasonic 55Z95BEG cala gli assi: pannello Tandem e audio senza compromessi
Panasonic 55Z95BEG cala gli assi: pannello Tandem e audio senza compromessi
Con un prezzo di 2.999 euro, il Panasonic Z95BEG entra nella fascia ultra-premium dei TV OLED: pannello Primary RGB Tandem, sistema di raffreddamento ThermalFlow, audio Technics integrato e funzioni gaming avanzate lo pongono come un punto di riferimento
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 19-09-2007, 23:21   #1
Gica78R
Senior Member
 
L'Avatar di Gica78R
 
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"
Lo riporto qui di seguito:
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
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?
Grazie!
__________________
gica78r@ncc-1701:~$ tar -c
tar: Codardamente mi rifiuto di creare un archivio vuoto
Gica78R è offline   Rispondi citando il messaggio o parte di esso
Old 19-09-2007, 23:27   #2
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
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
ilsensine è offline   Rispondi citando il messaggio o parte di esso
Old 19-09-2007, 23:29   #3
Gica78R
Senior Member
 
L'Avatar di Gica78R
 
Iscritto dal: Mar 2005
Messaggi: 1653
Quote:
Originariamente inviato da ilsensine Guarda i messaggi
Usa which; ad es.
which webcpp >/dev/null || exit


Grazie mille!
__________________
gica78r@ncc-1701:~$ tar -c
tar: Codardamente mi rifiuto di creare un archivio vuoto
Gica78R è offline   Rispondi citando il messaggio o parte di esso
Old 19-09-2007, 23:41   #4
Gica78R
Senior Member
 
L'Avatar di Gica78R
 
Iscritto dal: Mar 2005
Messaggi: 1653
Quale versione è migliore?

Codice:
if [[ ! `which webcpp 2>/dev/null` ]]
then
 echo "webcpp non trovato. Esco!"
 exit
fi
oppure

Codice:
which webcpp>/dev/null || { echo "webcpp non trovato. Esco!"; exit; }
Scusate il doppio post...
__________________
gica78r@ncc-1701:~$ tar -c
tar: Codardamente mi rifiuto di creare un archivio vuoto
Gica78R è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco Ecovacs Deebot X11 Omnicyclone: niente più...
Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio Narwal Flow: con il mocio orizzontale lava i pav...
Panasonic 55Z95BEG cala gli assi: pannello Tandem e audio senza compromessi Panasonic 55Z95BEG cala gli assi: pannello Tande...
HONOR Magic V5: il pieghevole ultra sottile e completo! La recensione HONOR Magic V5: il pieghevole ultra sottile e co...
Recensione Google Pixel 10 Pro XL: uno zoom 100x assurdo sempre in tasca (e molto altro) Recensione Google Pixel 10 Pro XL: uno zoom 100x...
Windows 11 25H2: le prestazioni non camb...
5 soluzioni vincenti per aspirare e lava...
SiFive lancia la seconda generazione di ...
Come e dove vedere l'evento Awe Dropping...
Mancava da 2 mesi: torna il super notebo...
Ottica quantistica: l'Università ...
TCL 55'' Smart TV con Fire TV a soli 279...
Eureka J15 Ultra, robot super potente da...
DJI Mini 4 Pro Fly More Combo: niente pa...
Google contraddice se stessa: 'Il web ap...
La nuova PlayStation 6 seguirà il...
Aspirapolvere 21000Pa per auto a 24,99€,...
Scopri i limiti nascosti di Gemini: Goog...
Intel cambia tutto (di nuovo): chi entra...
La sorpresa di IAA Mobility è Xyt...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 08:49.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v