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 [28/06/2018 16:33] – [estructuras] 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:// | + | * break (y nested break): [[https:// |