Ho una domanda semplice, ma non ho trovato nessuna risposta. Ci sono 2 interruttori per la condizione if che controlla un file, -e e -f. Qual è la differenza tra quei due?Differenza tra if -e e if -f
risposta
See: http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_07_01.html
Credo quelli non sono "se gli interruttori", piuttosto "interruttori di prova" (perché bisogna usarli all'interno [] parentesi
ma la differenza è:.
[ -e FILE ]
vero se file esiste.
Ciò restituirà vero sia per /etc/hosts
e /dev/null
.
[ -f FILE ]
Vero se FILE esiste ed è un file normale. Restituisce true per /etc/hosts
e false per /dev/null
(perché non è un file normale).
$ man bash
-e file
True if file exists.
-f file
True if file exists and is a regular file.
un file regolare è qualcosa che non è una directory/link simbolico/zoccolo/dispositivo, ecc
-e
controlli per qualsiasi tipo di oggetto file system; -f
solo controlla un file regolare.
L'istruzione if utilizza effettivamente il programma "test" per i test. Si potrebbe scrivere se le dichiarazioni di due modi:
if [ -e filename ];
o
if test -e filename;
Se conosci questa, si può facilmente controllare la pagina man per 'test' per scoprire il significato dei diversi test:
man test
- 1. "if" e "#if"; quale è meglio usare
- 2. Differenza tra "if (foo) bar();" e "foo && bar();"
- 3. Differenza tra le direttive del preprocessore #if e #ifdef
- 4. Qual è la differenza tra IF-ELSE e SWITCH?
- 5. Qual è la differenza tra "#if Foo - 0 == 0" e "#if definito (Foo) && Foo == 0"?
- 6. In Perl, qual è la differenza tra "if defined $ count" e "if $ count"?
- 7. Differenza tra if (a - b <0) e if (a <b)
- 8. Fortran: differenza tra estensione F e F
- 9. PHP: if (! $ Val) VS if (vuoto ($ val)). C'è qualche differenza?
- 10. Pulizia nidificata "if {} else {if {} else {if {...}}}"
- 11. IF-THEN vs IF in SAS
- 12. if-modified-since vs if-none-match
- 13. Qual è la differenza tra if (x^1! = 1) e if (int (x^1)! = 1) in C++?
- 14. Esiste una differenza tra "e" vs "e quindi" in un'istruzione IF
- 15. utilizzando e (&&) operatore if bash script di
- 16. Manubrio #if e zeri numerici
- 17. If-None-Match e NSURLConnection
- 18. Equivalenza di IF e DOVE
- 19. AngularJS ng-if e scope
- 20. breakout of if e foreach
- 21. jQuery alterna e IF visibile
- 22. F #: Differenza tra dizionario, Hashtable e Mappa
- 23. Differenza tra CTRL + G e Ctrl + F
- 24. if {} in if: endif
- 25. Qual è la differenza tra if (CONST == variabile) o if (variabile == CONST)?
- 26. C'è qualche differenza tra C e C++ tra l'uso di if, else if, else se, ... e l'uso di switch() {caso A: ... caso B: ...}?
- 27. interruttore Javascript contro if ... else if ... else
- 28. MySQL - Istruzione CASE vs IF vs funzione IF
- 29. "elseif" e "else if" sono sinonimi?
- 30. Perché una tale differenza di IL tra IF e l'operatore condizionale?
@jww È una domanda sul blocco if in bash scripting - potrebbe non essere un linguaggio di programmazione, ma di certo non lo chiamerei fuori tema. – Ahatius
Abbastanza giusto. L'hai etichettato come tale; quindi lo hai spostato verso la programmazione e lontano da "come si usa questo comando". Retratta. – jww