Unix
Actualizado 0B13
¿Por qué línea de comandos? CLI.
- No todo el pensamiento funciona por palabras, pero sí que gran parte del mismo.
No tengo claro hasta qué punto podríamos pensar en modo ventana. - El trabajo remunerado me tiene anclado en Unix propietario, pero saber que puedo extrapolar lo aprendido en CLI hace descender notablemente la ansiedad de lo amurallado.
SCRIPTS
Usando #!/bin/bash (tambien se llama "shebang")
Lenguaje que no necesita compilación para ejectuarse.
"bash" es el lenguaje del terminal
compilación: traducción de un programa al lenguaje que una computadora pueda entender.
Sin compilación, el programa le dice a la computadora paso a paso lo que tiene que hacer.
Un ejempo de script para actualizar web:
#!/bin/bash
Estamos indicando que se ejecuta el programa en bash
# === CONFIGURACIÓN ===
Las lineas que empiezan con # no se ejecutan, se usa para dejar comentarios. Pero, cuando lanzas un ./script.sh el sistema operativo lee solo la primera línea, y ahí le estamos diciendo con #! que hay que ejecutar lo que viene después.
ARCHIVO_LOCAL="/Users/nombre_de_usuario/carpeta/archivo.html"
URL_WEBDAV="https://elinternete.org/webdav/site/archivo.html"
indicamos de dónde cogemos el archivo y ruta de entrega
USUARIO="nombre_de_usuario"
CONTRASENA="la_contraseña"
# === VALIDACIÓN ===
if [ ! -f "$ARCHIVO_LOCAL" ]; then
echo "❌ El archivo '$ARCHIVO_LOCAL' no existe."
exit 1
fi
esta parte significa "Si el archivo NO existe"`-f`comprueba si es un archivo
`!` singnifica "NO"
y detiene el script con `exit 1` para intentar subir algo que no existe`
`if`significa "si" y se usa para evaluar una condición.
`fi`significa "fin del if" e indica donde termina el bloque condicional.
`then`significa "entonces" e indica qué comandos se ejecutan si la condición de `if`es verdadera.
echo muestra el texto o variables en la pantalla
# === SUBIDA ===
echo "📤 Subiendo '$ARCHIVO_LOCAL' a '$URL_WEBDAV'..."
curl -T "$ARCHIVO_LOCAL" "$URL_WEBDAV" --user "$USUARIO:$CONTRASENA"
if [ $? -eq 0 ]; then
echo "✅ Archivo subido correctamente (sustituyendo si ya existía)."
else
echo "❌ Error al subir el archivo."
exit 1
fi
`curl`es un programa para enviar/recibir datos por internet`-T` significa trasferir un archivo. Si el archivo ya existía, lo remplaza.
`--user` evnía usuario y contraseña.
`$?`es una variable del shell (bash) que guarda el código de salida del último comando ejecutado.
`0`exito, fue bien.
`≠0`error, algo falló.
Esto informa al script de si todo fue bien o hubo algún tipo de error.
`else` indica que ocurrirá en caso de que `then´falle.
///
Lo que piensas me interesa pero no quiero administrar una sección de comentarios. Si quieres contactarme es fácil hacerlo a través de mastodon. Si lo prefieres mándame un correo a hola@jlogp