3 votos

cambiar todos los archivos .sh a ejecutables por terminal

Odio tener que volver a escribir el nombre del archivo chmod +x y el insecto para ejecutarlo desde la terminal. ¿Cómo puedo configurar esto para todos los archivos .sh? He intentado inspeccionar y luego configurar manualmente la extensión

5voto

mrpixel Puntos 11

Usando un find el comando sería bastante simple:

find . -iname "*.sh" -exec bash -c 'chmod +x "$0"' {} \;

El comando se descompone como
find [¡Obvio!]
. = de esta carpeta. Puedes poner una ruta en su lugar
-iname = nombre sin mayúsculas y minúsculas
"*.sh" = nombre de archivo comodín
-exec = utilidad para ejecutar comandos
bash = qué herramienta quieres usar (puedes usar sh en su lugar)
-c flag significa ejecutar el siguiente comando tal y como lo interpreta este programa.
chmod +x = comando para cambiar el archivo a ejecutable
"$0" = El valor que se pasó a la utilidad
{} = Si la cadena {} aparece en cualquier parte del nombre de la utilidad o de los argumentos que se sustituye por la ruta del archivo actual.
; = Termina el comando

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X