Diferències
Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.
| Ambdós costats versió prèvia Revisió prèvia Següent revisió | Revisió prèvia | ||
| linux:bash:estructurasdecontrol [10/01/2018 01:52] – mate | linux:bash:estructurasdecontrol [31/05/2023 02:25] (actual) – [if/else] mate | ||
|---|---|---|---|
| Línia 40: | Línia 40: | ||
| * **-t** fichero -> fichero existe y está asociado a un terminal | * **-t** fichero -> fichero existe y está asociado a un terminal | ||
| * **-N** fichero -> fichero existe y ha sido modificado desde su última lectura | * **-N** fichero -> fichero existe y ha sido modificado desde su última lectura | ||
| + | |||
| * **-r** fichero -> tiene permiso de lectura | * **-r** fichero -> tiene permiso de lectura | ||
| Línia 47: | Línia 48: | ||
| * **-u** fichero -> tiene el SUID | * **-u** fichero -> tiene el SUID | ||
| * **-k** fichero -> tiene el " | * **-k** fichero -> tiene el " | ||
| + | |||
| * **-O** fichero -> eres el OWNER del fichero | * **-O** fichero -> eres el OWNER del fichero | ||
| * **-G** fichero -> el GRUPO del fichero es el mismo que el tuyo | * **-G** fichero -> el GRUPO del fichero es el mismo que el tuyo | ||
| + | |||
| * fichero1 **-nt** fichero2 -> el fichero1 es más reciente que el fichero2 | * fichero1 **-nt** fichero2 -> el fichero1 es más reciente que el fichero2 | ||
| * fichero1 **-ot** fichero2 -> el fichero1 es más antiguio que el fichero2 | * fichero1 **-ot** fichero2 -> el fichero1 es más antiguio que el fichero2 | ||
| * fichero1 **-ef** fichero2 -> el fichero1 y el fichero2 son HARD LINKS al mismo fichero | * fichero1 **-ef** fichero2 -> el fichero1 y el fichero2 son HARD LINKS al mismo fichero | ||
| + | |||
| * '' | * '' | ||
| Línia 66: | Línia 70: | ||
| == estructuras | == estructuras | ||
| - | * if/ | + | === if/else | 
| + | [[https:// | ||
| + | {{: | ||
| + | |||
| + | < | ||
| if condicion | if condicion | ||
| then | then | ||
| Línia 74: | Línia 82: | ||
| else | else | ||
| comandos | comandos | ||
| - | fi | + | fi</ | 
| - | DIRECTORIO="/ | + | <code bash; example>DIRECTORIO="/ | 
| COMANDO="/ | COMANDO="/ | ||
| Línia 84: | Línia 92: | ||
| fi | fi | ||
| </ | </ | ||
| - | * if (ternary operator) | + | === if (ternary operator) | 
| - | * '' | + | <code bash; example>a=$([ " | 
| - | * '' | + | # a = b==5 ? c : d</ | 
| - | * '' | + | <code bash; example>[ $b == 5 ] && { a=$c; true; } || a=$d</ | 
| - | * '' | + | <code bash; example>VARIABLE=`[ test ] && echo VALUE_A || echo VALUE_B`</ | 
| - |  | + | === for | 
| + | < | ||
| for nombre [in lista] | for nombre [in lista] | ||
| do | do | ||
|  |  | ||
| done | done | ||
| + | </ | ||
| + | <code bash; example> | ||
| LISTA=" | LISTA=" | ||
| for directorio in $LISTA | for directorio in $LISTA | ||
| Línia 101: | Línia 111: | ||
| done | done | ||
| </ | </ | ||
| - |  | + | <code bash; example> | 
| + | === while | ||
| + | < | ||
| while condición | while condición | ||
| do | do | ||
|  |  | ||
| done | done | ||
| + | </ | ||
| + | <code bash; example> | ||
| NUM=0 | NUM=0 | ||
| while [ $NUM -gt 10]; do | while [ $NUM -gt 10]; do | ||
| Línia 112: | Línia 125: | ||
| done | done | ||
| </ | </ | ||
| - | * while '' | + | === while | 
| - |  | + | <code bash; example>while true; do sleep 10; ls -la; done</ | 
| + | === until | ||
| + | < | ||
| until condición | until condición | ||
| do | do | ||
|  |  | ||
| done | done | ||
| + | </ | ||
| + | <code bash; example> | ||
| NUM=0 | NUM=0 | ||
| until [ $NUM -gt 10]; do | until [ $NUM -gt 10]; do | ||
| Línia 124: | Línia 140: | ||
| done | done | ||
| </ | </ | ||
| - | * case< | + | === case | 
| + | < | ||
| case expresion in | case expresion in | ||
| case1) | case1) | ||
| Línia 132: | Línia 149: | ||
| ... | ... | ||
| esac | esac | ||
| + | </ | ||
| + | <code bash; example> | ||
| for NUM in 0 1 2 3 | for NUM in 0 1 2 3 | ||
| do | do | ||
| Línia 144: | Línia 162: | ||
| </ | </ | ||
| * select | * select | ||
| + | * break (y nested break): [[https:// | ||