Yo uso Latex para escribir mis documentos. Latex crea MUCHOS archivos auxiliares para compilar un documento. Muchas veces quiero limpiar mi directorio de trabajo.
Cuando trabajaba en Windows, solía mantener un archivo .bat en el directorio de trabajo que se veía así:
del *.aux
del *.pdf
del *.log
del *.bak
del *.gz
del *.bbl
del *.blg
en el que podría hacer clic para deshacerme de todos los archivos auxiliares.
Ahora, quiero hacer lo mismo en mi Mac. He creado un archivo .sh como este:
#!/bin/bash
cd `pwd`
echo "Cleaning files..."
rm *.aux
rm *.bak
rm *.bbl
rm *.blg
rm *.gz
rm *.log
rm *.pdf
echo "Done!"
que sé que puedo ejecutar (es decir, invocar desde la línea de comandos), pero no puedo hacer clic, lo cual es más conveniente porque no siempre usaré Terminal.
¿Cómo puedo convertir este script en uno "cliqueable"?
Agradezco cualquier aporte!
chmod +x myfile.sh
ahora deberías También puedes asignar un ícono usando el menú de obtener información para que se vea bien :)rm
comandos no se aplicaron en el directorio actual. Supongo que fueron ejecutados en el directorio de inicio. Afortunadamente, no tenía ningún archivo que coincida con las extensiones de archivo que se eliminarán. ¿Alguna sugerencia en el script para ejecutar en el directorio desde el que se invocó?cd "pwd"
pero reemplace el "conRespuestas:
Crea un archivo de texto como este:
Dele una extensión ".command" y agregue permiso de ejecución. Esto hará que se abra y se ejecute automáticamente en la Terminal cuando se haga doble clic.
Tenga en cuenta que hay dos diferencias importantes (y una menor) entre esto y el script de @ thiagoveloso:
cd
dirige, lo que evitará problemas si algún nombre de directorio contiene espacios (lo cual es completamente normal en OS X).cd
si hay errores durante el proceso y, si hubo un problema, se cierra (en lugar de eliminar archivos en una ubicación inesperada). Siempre verifique si hay errores en cualquier comando de script que afecte lo que hará el resto del script;cd
Es un buen ejemplo de esto.cd
es directamente al directorio del guión (en lugar decd
ing allí, la captura de ese lugar en una variable, entoncescd
ing hay de nuevo sobre la base de la variable).fuente
Basado en esta referencia ( https://stackoverflow.com/questions/59895/can-a-bash-script-tell-what-directory-its-stored-in ), terminé resolviendo mi problema con el siguiente código:
¡Funciona muy bien para limpiar todos los archivos desagradables que dejó Texmaker!
fuente