Sto cercando una semplice shell (+ curl) che verrebbe valutata come vera o falsa se esiste un URL (restituisce 200) o meno.Come verificare se esiste un URL con la shell e probabilmente si arriccia?
risposta
L'utilizzo di --fail
renderà lo stato di uscita diverso da zero su una richiesta non riuscita. L'utilizzo di --head
eviterà di scaricare il contenuto del file, poiché non è necessario per questo controllo. L'utilizzo di --silent
eviterà che lo stato o gli errori vengano emessi dal controllo stesso.
if curl --output /dev/null --silent --head --fail "$url"; then
echo "URL exists: $url"
else
echo "URL does not exist: $url"
fi
Se il server rifiuta le richieste HEAD, in alternativa è quella di richiedere solo il primo byte del file:
if curl --output /dev/null --silent --fail -r 0-0 "$url"; then
trovo wget per essere uno strumento migliore per questo che CURL; ci sono meno opzioni da ricordare e puoi effettivamente verificare il suo valore di verità in bash per vedere se è riuscito o meno per impostazione predefinita.
if wget --spider http://google.com 2>/dev/null; then
echo "File exists"
else
echo "File does not exist"
fi
L'opzione --spider
rende wget basta controllare per il file invece di scaricare, e 2> /dev/null
silenzi di wget uscita stderr.
Il "può effettivamente verificare il suo valore di verità in bash" non è univoco per wget; con '--fail', si può fare lo stesso con arricciatura. –
Ecco perché ho detto "per impostazione predefinita". Prova a eseguire "wget google.com/asdf" e "arricciare google.com/asdf". 'arricciata' restituisce EXIT_SUCCESS di default quando incontra un errore 404, mentre' wget' restituisce EXIT_FAILURE. – ailnlv
Questa soluzione funziona meglio per me almeno – raffi
- 1. Come verificare se l'immagine esiste con un determinato URL?
- 2. Come verificare se esiste ancora un ALAsset usando un URL
- 3. Come verificare se un file esiste da un url
- 4. Come verificare se esiste un utente postgres?
- 5. Come verificare se esiste un file su un server remoto usando la shell
- 6. Come verificare se esiste un percorso?
- 7. posso verificare se esiste un file in un URL?
- 8. posso verificare se esiste un file in un URL?
- 9. come posso verificare se esiste un file?
- 10. Come verificare se l'elemento esiste con SimpleXML?
- 11. Come verificare se la funzione esiste?
- 12. Come verificare se esiste un determinato assemblaggio?
- 13. Come verificare se cronjob esiste con PHP?
- 14. Verifica se esiste o meno un URL
- 15. Verificare se il servizio esiste con Ansible
- 16. Verificare se esiste un servizio web
- 17. Come verificare se esiste un menu con un nome specifico
- 18. gelsomino - come verificare se esiste un argomento?
- 19. Come verificare se esiste un elemento dell'array?
- 20. Script di shell per verificare se esiste una directory e se non crearla?
- 21. Come verificare se un URL esiste o restituisce 404 con Java?
- 22. node.js verifica se esiste un URL remoto
- 23. Come verificare se esiste un file
- 24. Come verificare se esiste un record con Python MySQdb
- 25. Come verificare se esiste un ID e-mail?
- 26. Come posso verificare se esiste un URL con i validatori di Django?
- 27. Prolog: come verificare se esiste un predicato?
- 28. Come verificare se esiste un indirizzo e-mail?
- 29. Verificare se Cookie esiste con JSP EL
- 30. Come verificare un file se esiste con jolly in Java?
Includere '-o/dev/null' per sopprimere la stampa dell'intestazione sullo stdout –
@ShawnChin Buona chiamata, grazie. –
Ottimo .... Funziona bene. Grazie –