{"id":52993,"date":"2026-05-15T23:49:20","date_gmt":"2026-05-15T16:49:20","guid":{"rendered":"\/es\/tutoriales\/?p=52993"},"modified":"2026-05-15T23:49:22","modified_gmt":"2026-05-15T16:49:22","slug":"como-ejecutar-archivo-sh-en-linux","status":"publish","type":"post","link":"\/es\/tutoriales\/como-ejecutar-archivo-sh-en-linux","title":{"rendered":"C\u00f3mo ejecutar el archivo .sh en Linux"},"content":{"rendered":"<p>Un archivo .sh en Linux es un script de shell ejecutable que contiene una serie de comandos que se ejecutan de forma secuencial. Se suele usar para simplificar operaciones complejas, automatizar tareas y ejecutar programas.<\/p><p>Saber c&oacute;mo crear y ejecutar un archivo de shell es clave para administrar un sistema Linux de forma m&aacute;s eficiente y con menos errores.<\/p><p>En este tutorial, aprender&aacute;s a ejecutar un archivo .sh en Linux usando la l&iacute;nea de comandos y la interfaz gr&aacute;fica. Tambi&eacute;n te explicaremos c&oacute;mo crear este tipo de archivo y configurar los permisos adecuados para ejecutarlo sin problemas.<\/p><p>\n\n\n\n\n\n\n<\/p><h2 class=\"wp-block-heading\" id=\"h-resumen\">RESUMEN<\/h2><ul class=\"wp-block-list\">\n<li>Para ejecutar un archivo <code>.sh<\/code> en Linux, crea el script, agrega una l&iacute;nea shebang como <code>#!\/bin\/bash<\/code> y gu&aacute;rdalo con la extensi&oacute;n <code>.sh<\/code>.<\/li>\n\n\n\n<li>Antes de ejecutarlo, dale permiso de ejecuci&oacute;n al archivo con <code>sudo chmod +x script.sh<\/code> o desde el men&uacute; de permisos de la interfaz gr&aacute;fica.<\/li>\n\n\n\n<li>Luego ejec&uacute;talo con<code>.\/script.sh<\/code>, p&aacute;salo a <code>bash<\/code> o <code>sh<\/code>, ejec&uacute;talo como otro usuario con <code>runuser<\/code> o mantenlo en segundo plano con <code>&amp;<\/code> o <code>nohup<\/code>.<\/li>\n<\/ul><h2 class=\"wp-block-heading\" id=\"h-what-is-a-sh-file\"><strong>&iquest;Qu&eacute; es un archivo .sh?<\/strong> <\/h2><p>Un archivo <strong>.sh<\/strong> o <strong>script de shell<\/strong> es un archivo ejecutable que contiene una serie de comandos. Cuando lo ejecutas, el shell o int&eacute;rprete de l&iacute;nea de comandos lee su contenido y ejecuta los comandos en orden.<\/p><p>Este tipo de archivo se suele usar en la administraci&oacute;n de sistemas por ventajas como estas:<\/p><ul class=\"wp-block-list\">\n<li><strong>Eficiencia<\/strong>: en lugar de ejecutar varios comandos por separado, puedes completar una tarea compleja al ejecutar un solo archivo de script de shell.<\/li>\n\n\n\n<li><strong>Consistencia<\/strong>: un archivo .sh siempre realiza la misma tarea y genera el mismo resultado, lo que minimiza los errores humanos.<\/li>\n\n\n\n<li><strong>Automatizaci&oacute;n<\/strong>: al usar <a href=\"\/es\/tutoriales\/cron-job\">cron job<\/a>, puedes ejecutar autom&aacute;ticamente un archivo .sh en un intervalo espec&iacute;fico o a una hora determinada para agilizar las tareas repetitivas.&nbsp;<\/li>\n\n\n\n<li><strong>Reutilizaci&oacute;n<\/strong>: puedes compartir f&aacute;cilmente un archivo .sh con otros miembros del equipo o reutilizarlo en otro proyecto para realizar la misma tarea.&nbsp;<\/li>\n\n\n\n<li><strong>Facilidad de mantenimiento<\/strong>: los archivos .sh se pueden editar, probar y depurar f&aacute;cilmente porque son similares a otros archivos de texto.<\/li>\n<\/ul><h2 class=\"wp-block-heading\" id=\"h-how-to-create-a-sh-file\"><strong>C&oacute;mo crear un archivo .sh<\/strong><\/h2><p>Los pasos para crear un archivo .sh son los mismos independientemente de la distribuci&oacute;n de Linux que uses. Sin embargo, var&iacute;an seg&uacute;n si usas la l&iacute;nea de comandos o una interfaz gr&aacute;fica de usuario (GUI).<\/p><p><strong>Crear un archivo .sh con comandos<\/strong> <\/p><p>Antes de crear un archivo .sh, abre la terminal de tu sistema para acceder a su interfaz de l&iacute;nea de comandos (CLI). Si trabajas con un servidor Linux remoto, <a href=\"\/es\/tutoriales\/conectar-usando-terminal-putty-ssh\/\">con&eacute;ctate a &eacute;l por SSH con PuTTY<\/a> o desde la terminal.<\/p><p>Como alternativa, si usas el <a href=\"\/es\/vps-hosting\">hosting VPS Linux de Hostinger<\/a>, puedes conectarte f&aacute;cilmente a tu servidor directamente desde tu navegador web con la <strong>terminal del navegador<\/strong> de hPanel.<\/p><figure class=\"wp-block-image size-large\"><a href=\"\/es\/servidor-vps\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" width=\"1024\" height=\"300\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/02\/ES-VPS-hosting_in-text-banner.png\/public\" alt=\"\" class=\"wp-image-29287\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/02\/ES-VPS-hosting_in-text-banner.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/02\/ES-VPS-hosting_in-text-banner.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/02\/ES-VPS-hosting_in-text-banner.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/02\/ES-VPS-hosting_in-text-banner.png\/w=768,fit=scale-down 768w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/02\/ES-VPS-hosting_in-text-banner.png\/w=1536,fit=scale-down 1536w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><p>Una vez que te conectes, sigue estos pasos para crear un nuevo archivo de script de shell:<\/p><ol class=\"wp-block-list\">\n<li>Ejecuta el siguiente comando para crear un archivo <strong>.sh<\/strong> vac&iacute;o. Reemplaza <strong>script <\/strong>por el nombre que quieras:<\/li>\n<\/ol><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo touch script.sh<\/pre><ol start=\"2\" class=\"wp-block-list\">\n<li>Abre el archivo nuevo con tu editor de texto preferido. En este tutorial, usaremos <a href=\"\/es\/tutoriales\/instalar-nano-text-editor\">Nano<\/a>:<\/li>\n<\/ol><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo nano script.sh<\/pre><ol start=\"3\" class=\"wp-block-list\">\n<li>Se abrir&aacute; el editor de texto. Escribe la siguiente l&iacute;nea <strong>shebang <\/strong>al principio para indicar qu&eacute; int&eacute;rprete de shell debe usar tu sistema para leer el contenido del archivo. Por ejemplo, haremos un script de bash:<\/li>\n<\/ol><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">#!\/bin\/bash<\/pre><ol start=\"4\" class=\"wp-block-list\">\n<li>En la siguiente l&iacute;nea, agrega algunos comandos en orden cronol&oacute;gico. Podr&iacute;a verse as&iacute;:<\/li>\n<\/ol><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Actualiza el repositorio sudo apt update Instala las actualizaciones disponibles sudo apt upgrade<\/pre><ol start=\"5\" class=\"wp-block-list\">\n<li>Cuando termines, presiona<strong> Ctrl + X<\/strong>, <strong>Y<\/strong> y luego<strong> Enter<\/strong> para guardar el archivo.&nbsp;<\/li>\n<\/ol><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"6a0b037c6803e\"}' data-wp-interactive=\"core\/image\" class=\"aligncenter size-large wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"513\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"\/es\/tutoriales\/wp-content\/uploads\/sites\/32\/2026\/05\/contenido-del-script-de-shell.png\" alt=\"El contenido de un script de shell en la terminal\" class=\"wp-image-52987\" srcset=\"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-content\/uploads\/sites\/32\/2026\/05\/contenido-del-script-de-shell.png 1024w, https:\/\/www.hostinger.com\/es\/tutoriales\/wp-content\/uploads\/sites\/32\/2026\/05\/contenido-del-script-de-shell-300x150.png 300w, https:\/\/www.hostinger.com\/es\/tutoriales\/wp-content\/uploads\/sites\/32\/2026\/05\/contenido-del-script-de-shell-150x75.png 150w, https:\/\/www.hostinger.com\/es\/tutoriales\/wp-content\/uploads\/sites\/32\/2026\/05\/contenido-del-script-de-shell-768x385.png 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><p><strong><div><p class=\"important\">&iexcl;Importante!<\/strong> Tu int&eacute;rprete de comandos del sistema ignorar&aacute; las l&iacute;neas que empiecen con el s&iacute;mbolo numeral (#), excepto la l&iacute;nea shebang. Esto se usa com&uacute;nmente para agregar comentarios o notas y darles m&aacute;s contexto a quienes lean o editen el script.<\/p><\/div><\/p><p><strong>Crear un archivo .sh desde la interfaz gr&aacute;fica<\/strong> <\/p><p>As&iacute; puedes crear un archivo .sh desde la interfaz gr&aacute;fica en tu escritorio de Linux. El procedimiento general debe ser el mismo sin importar tu distribuci&oacute;n, pero la ubicaci&oacute;n del bot&oacute;n podr&iacute;a variar un poco.<\/p><p>En este tutorial, te mostraremos c&oacute;mo hacerlo en <strong>Ubuntu<\/strong>:<\/p><ol class=\"wp-block-list\">\n<li>Haz clic en <strong>Mostrar aplicaciones<\/strong> en el iniciador de tu escritorio.<\/li>\n<\/ol><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"6a0b037c68f1f\"}' data-wp-interactive=\"core\/image\" class=\"aligncenter size-large wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"641\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"\/es\/tutoriales\/wp-content\/uploads\/sites\/32\/2026\/05\/el-boton-Mostrar-aplicaciones-en-el-lanzador-de-Ubuntu.png\" alt=\"El bot&oacute;n Mostrar aplicaciones en el lanzador de Ubuntu\" class=\"wp-image-52988\" srcset=\"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-content\/uploads\/sites\/32\/2026\/05\/el-boton-Mostrar-aplicaciones-en-el-lanzador-de-Ubuntu.png 1024w, https:\/\/www.hostinger.com\/es\/tutoriales\/wp-content\/uploads\/sites\/32\/2026\/05\/el-boton-Mostrar-aplicaciones-en-el-lanzador-de-Ubuntu-300x188.png 300w, https:\/\/www.hostinger.com\/es\/tutoriales\/wp-content\/uploads\/sites\/32\/2026\/05\/el-boton-Mostrar-aplicaciones-en-el-lanzador-de-Ubuntu-150x94.png 150w, https:\/\/www.hostinger.com\/es\/tutoriales\/wp-content\/uploads\/sites\/32\/2026\/05\/el-boton-Mostrar-aplicaciones-en-el-lanzador-de-Ubuntu-768x481.png 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><ol start=\"2\" class=\"wp-block-list\">\n<li>Selecciona <strong>Editor de texto<\/strong>.&nbsp;<\/li>\n\n\n\n<li>Escribe el shebang y tus comandos. Haz clic en <strong>Guardar<\/strong>.&nbsp;<\/li>\n<\/ol><figure data-wp-context='{\"imageId\":\"6a0b037c69c45\"}' data-wp-interactive=\"core\/image\" class=\"wp-block-image aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" width=\"897\" height=\"206\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"\/es\/tutoriales\/wp-content\/uploads\/sites\/32\/2026\/05\/contenido-del-archivo-sh-en-un-editor-de-texto-con-interfaz-grafica.png\" alt=\"Contenido de un archivo .sh en un editor de texto con interfaz gr&aacute;fica\n\" class=\"wp-image-52989\" srcset=\"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-content\/uploads\/sites\/32\/2026\/05\/contenido-del-archivo-sh-en-un-editor-de-texto-con-interfaz-grafica.png 897w, https:\/\/www.hostinger.com\/es\/tutoriales\/wp-content\/uploads\/sites\/32\/2026\/05\/contenido-del-archivo-sh-en-un-editor-de-texto-con-interfaz-grafica-300x69.png 300w, https:\/\/www.hostinger.com\/es\/tutoriales\/wp-content\/uploads\/sites\/32\/2026\/05\/contenido-del-archivo-sh-en-un-editor-de-texto-con-interfaz-grafica-150x34.png 150w, https:\/\/www.hostinger.com\/es\/tutoriales\/wp-content\/uploads\/sites\/32\/2026\/05\/contenido-del-archivo-sh-en-un-editor-de-texto-con-interfaz-grafica-768x176.png 768w\" sizes=\"(max-width: 897px) 100vw, 897px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><ol start=\"4\" class=\"wp-block-list\">\n<li>Selecciona la ubicaci&oacute;n donde quieres guardar el script. Haz clic en <strong>Guardar<\/strong> para confirmar.<\/li>\n\n\n\n<li>Ingresa un nombre para tu script. Aseg&uacute;rate de que termine con la extensi&oacute;n <strong>.sh<\/strong>.&nbsp;<\/li>\n\n\n\n<li>Haz clic en <strong>Guardar<\/strong>.&nbsp;<\/li>\n<\/ol><h2 class=\"wp-block-heading\" id=\"h-setting-permissions-to-run-a-sh-file\"><strong>Configurar permisos para ejecutar un archivo .sh<\/strong> <\/h2><p>Por razones de seguridad, no puedes ejecutar archivos .sh en Linux de forma predeterminada. Antes de ejecutarlos, debes configurar los permisos adecuados.<\/p><p>Para hacer que el archivo sea ejecutable, a&ntilde;ade el permiso correspondiente <a href=\"\/es\/tutoriales\/cambiar-permisos-y-propietarios-linux-linea-de-comandos\/\">con el comando chmod<\/a>, como se muestra a continuaci&oacute;n. Recuerda reemplazar el nombre del archivo seg&uacute;n corresponda:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo chmod +x script.sh<\/pre><p>Ten en cuenta que este comando solo dar&aacute; permiso de ejecuci&oacute;n al propietario o creador del archivo. Esto significa que otra persona no puede ejecutar el script como programa a menos que use <strong>sudo<\/strong>.<\/p><p><strong><div><p class=\"important\">&iexcl;Importante!<\/strong> Aunque puedes a&ntilde;adir permiso de ejecuci&oacute;n para todas las personas usuarias, no lo recomendamos por motivos de seguridad. Lo m&aacute;s recomendable es permitir que solo la persona propietaria pueda ejecutar el script de Bash.<\/p><\/div><\/p><p>Tambi&eacute;n puedes cambiar los permisos de tu archivo .sh desde la interfaz gr&aacute;fica. Por ejemplo, as&iacute; puedes hacerlo en Ubuntu:<\/p><ol class=\"wp-block-list\">\n<li>Haz clic derecho en tu archivo .sh y selecciona <strong>Propiedades<\/strong>. <\/li>\n\n\n\n<li>Selecciona la pesta&ntilde;a <strong>Permisos<\/strong>.<\/li>\n<\/ol><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"6a0b037c6ae31\"}' data-wp-interactive=\"core\/image\" class=\"aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" width=\"700\" height=\"543\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"\/es\/tutoriales\/wp-content\/uploads\/sites\/32\/2026\/05\/Menu-de-configuracion-de-permisos-de-archivo-en-la-interfaz-grafica-de-Linux.png\" alt=\"El men&uacute; de configuraci&oacute;n de permisos de archivos en la interfaz gr&aacute;fica de usuario de Linux\" class=\"wp-image-52990\" srcset=\"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-content\/uploads\/sites\/32\/2026\/05\/Menu-de-configuracion-de-permisos-de-archivo-en-la-interfaz-grafica-de-Linux.png 700w, https:\/\/www.hostinger.com\/es\/tutoriales\/wp-content\/uploads\/sites\/32\/2026\/05\/Menu-de-configuracion-de-permisos-de-archivo-en-la-interfaz-grafica-de-Linux-300x233.png 300w, https:\/\/www.hostinger.com\/es\/tutoriales\/wp-content\/uploads\/sites\/32\/2026\/05\/Menu-de-configuracion-de-permisos-de-archivo-en-la-interfaz-grafica-de-Linux-150x116.png 150w\" sizes=\"(max-width: 700px) 100vw, 700px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><ol start=\"3\" class=\"wp-block-list\">\n<li>Marca la casilla <strong>Permitir ejecutar el archivo como programa<\/strong>.<\/li>\n\n\n\n<li>Cierra la ventana de di&aacute;logo.&nbsp;<\/li>\n<\/ol><p>Aunque puedes ejecutar un archivo .sh, es posible que no puedas ejecutar todo su contenido. Al ejecutar el script, puede que siga apareciendo un error de permisos.<\/p><p>Esto sucede porque el usuario actual no tiene permisos suficientes para ejecutar comandos o modificar alg&uacute;n elemento especificado en el archivo .sh.<\/p><h2 class=\"wp-block-heading\" id=\"h-running-a-sh-file\"><strong>Ejecutar un archivo .sh<\/strong> <\/h2><p>Hay varias formas de ejecutar un archivo .sh seg&uacute;n el caso de uso. En esta secci&oacute;n, veremos cuatro de las m&aacute;s comunes.<\/p><h3 class=\"wp-block-heading\" id=\"h-running-a-sh-file-normally\"><strong>Ejecutar un archivo .sh normalmente<\/strong> <\/h3><p>La forma m&aacute;s b&aacute;sica de ejecutar un archivo .sh es escribir su nombre en la interfaz de l&iacute;nea de comandos as&iacute;:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">.\/script.sh<\/pre><p>Este comando solo funciona si el archivo .sh est&aacute; en el directorio actual. Si el script est&aacute; en otra carpeta, especifica la ruta completa as&iacute;:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">.\/path\/to\/folder\/script.sh<\/pre><p>Si usas una interfaz gr&aacute;fica, puedes ejecutar f&aacute;cilmente un archivo .sh si haces clic derecho sobre &eacute;l y seleccionas <strong>Ejecutar como programa<\/strong>.<\/p><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"6a0b037c6bd6e\"}' data-wp-interactive=\"core\/image\" class=\"aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" width=\"377\" height=\"388\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"\/es\/tutoriales\/wp-content\/uploads\/sites\/32\/2026\/05\/El-boton-Ejecutar-como-programa-en-un-script.png\" alt=\"El bot&oacute;n Ejecutar como programa en el men&uacute; al hacer clic izquierdo de un script\" class=\"wp-image-52991\" srcset=\"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-content\/uploads\/sites\/32\/2026\/05\/El-boton-Ejecutar-como-programa-en-un-script.png 377w, https:\/\/www.hostinger.com\/es\/tutoriales\/wp-content\/uploads\/sites\/32\/2026\/05\/El-boton-Ejecutar-como-programa-en-un-script-291x300.png 291w, https:\/\/www.hostinger.com\/es\/tutoriales\/wp-content\/uploads\/sites\/32\/2026\/05\/El-boton-Ejecutar-como-programa-en-un-script-146x150.png 146w\" sizes=\"(max-width: 377px) 100vw, 377px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><p>Aunque es sencillo, este m&eacute;todo tiene una desventaja: el script solo se puede ejecutar con el int&eacute;rprete de shell especificado en el shebang.<\/p><h3 class=\"wp-block-heading\" id=\"h-using-a-specific-interpreter\"><strong>Usar un int&eacute;rprete espec&iacute;fico<\/strong> <\/h3><p>En algunos casos, puede que necesites ejecutar el script de shell con un int&eacute;rprete espec&iacute;fico. Esto resulta &uacute;til en varias situaciones, por ejemplo, cuando no tienes permiso para ejecutar el archivo.<\/p><p>\n\n\n<div class=\"protip\">\n                    <h4 class=\"title\">Ejecutar un archivo .sh no ejecutable<\/h4>\n                    <p>T&eacute;cnicamente, puedes ejecutar un script sin permisos de ejecuci&oacute;n si indicas expl&iacute;citamente el int&eacute;rprete de shell. Sin embargo, en ese caso el archivo no se ejecuta como un programa, sino que el int&eacute;rprete lee su contenido. <br> Esto no supone un riesgo de seguridad, ya que el usuario sigue necesitando permisos para ejecutar los comandos y modificar los archivos especificados en el script.<\/p>\n                <\/div>\n\n\n\n<\/p><p>Puedes ejecutar tu archivo .sh con un shell espec&iacute;fico si lo indicas al inicio del comando. Esto sobrescribir&aacute; el int&eacute;rprete especificado en la l&iacute;nea shebang.<\/p><p>Hay<a href=\"https:\/\/cyberpanel.net\/blog\/6-types-of-shells-in-linux\" target=\"_blank\" rel=\"noopener\"> otros int&eacute;rpretes de comandos<\/a> con comportamientos diferentes. Los dos m&aacute;s comunes en Linux son sh y su versi&oacute;n m&aacute;s moderna, bash. Estos ser&iacute;an los comandos para ejecutar un script con cualquiera de ellos:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">bash script.sh sh script.sh<\/pre><h3 class=\"wp-block-heading\" id=\"h-running-a-sh-file-as-another-user\"><strong>Ejecutar un archivo .sh como otro usuario<\/strong> <\/h3><p>Los administradores de sistemas pueden ejecutar archivos .sh como un usuario o grupo espec&iacute;fico por varios motivos. Por ejemplo, usar una cuenta espec&iacute;fica para ejecutar scripts en varias operaciones similares ayuda a simplificar la gesti&oacute;n de tareas.<\/p><p>Por razones de seguridad, tambi&eacute;n es recomendable ejecutar un archivo .sh como propietario en lugar de <strong>root<\/strong>. As&iacute; evitas conceder privilegios excesivos durante la operaci&oacute;n, algo que podr&iacute;a da&ntilde;ar otras partes del sistema.<\/p><p>Por ejemplo, imagina que ejecutas un script para limpiar un directorio, pero falta la variable que especifica la ruta. Si ejecutas este archivo .sh como root, podr&iacute;as eliminar el directorio principal <strong>\/home<\/strong>. Esto no ocurrir&aacute; con usuarios sin privilegios de root porque no tienen permisos suficientes.<\/p><p>Para ejecutar un archivo .sh como otro usuario, usa la siguiente sintaxis de comando:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">runuser -u [nombredeusuario] -- [\/ruta\/al\/script.sh]<\/pre><p>\n[\/nombredeusuario]\n\n\n\n<\/p><p>Por ejemplo, si quieres ejecutar un script de monitoreo como el usuario de <strong>cron<\/strong>, tu comando se ver&aacute; as&iacute;:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">runuser -u cron --\/program\/automation\/monitoring.sh<\/pre><p>Si quieres ejecutar un archivo .sh con un grupo espec&iacute;fico, solo tienes que a&ntilde;adir la opci&oacute;n <strong>-g<\/strong> al comando anterior.<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">runuser -u cron -g automation --\/program\/automation\/monitoring.sh<\/pre><p>En el ejemplo anterior, estamos ejecutando el script <strong>monitoring.sh<\/strong> como el usuario <strong>cron<\/strong> dentro del grupo de <strong>automatizaci&oacute;n<\/strong>.<\/p><h3 class=\"wp-block-heading\" id=\"h-executing-a-script-in-the-background\"><strong>Ejecutar un script en segundo plano<\/strong> <\/h3><p>De forma predeterminada, los archivos .sh se ejecutan en el shell principal de la terminal. Esto puede ser un problema si ejecutas un script que debe funcionar de forma constante, por ejemplo, para tareas de monitorizaci&oacute;n o registro.<\/p><p>En ese caso, ejecuta el archivo .sh en segundo plano para poder seguir usando el shell principal de la terminal mientras el script est&aacute; en ejecuci&oacute;n. La forma m&aacute;s sencilla de hacerlo es a&ntilde;adir un ampersand (<strong>&amp;<\/strong>) al final del comando:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">.\/script.sh &amp;<\/pre><p>La Terminal mostrar&aacute; el ID del proceso del script, que podr&aacute;s usar m&aacute;s tarde para detener el proceso con el comando kill.<\/p><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"6a0b037c6ceaf\"}' data-wp-interactive=\"core\/image\" class=\"aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" width=\"748\" height=\"80\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"\/es\/tutoriales\/wp-content\/uploads\/sites\/32\/2026\/05\/ID-del-proceso-de-un-script-de-shell-en-la-terminal.png\" alt=\"ID del proceso del script de shell en la terminal\" class=\"wp-image-52992\" srcset=\"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-content\/uploads\/sites\/32\/2026\/05\/ID-del-proceso-de-un-script-de-shell-en-la-terminal.png 748w, https:\/\/www.hostinger.com\/es\/tutoriales\/wp-content\/uploads\/sites\/32\/2026\/05\/ID-del-proceso-de-un-script-de-shell-en-la-terminal-300x32.png 300w, https:\/\/www.hostinger.com\/es\/tutoriales\/wp-content\/uploads\/sites\/32\/2026\/05\/ID-del-proceso-de-un-script-de-shell-en-la-terminal-150x16.png 150w\" sizes=\"(max-width: 748px) 100vw, 748px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><p>Si quieres que el script siga ejecut&aacute;ndose en segundo plano despu&eacute;s de cerrar la terminal, puedes usar el comando <strong>nohup<\/strong>:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">nohup.\/script.sh &amp;<\/pre><p>Una forma m&aacute;s organizada de ejecutar un script en segundo plano es usar un multiplexor de terminal como <a href=\"\/es\/tutoriales\/instalar-usar-linux-screen\">GNU Screen<\/a> o <a href=\"\/es\/tutoriales\/como-usar-tmux\">tmux<\/a>. Esta herramienta crea una consola virtual que puede seguir ejecut&aacute;ndose incluso despu&eacute;s de que te desconectes de la sesi&oacute;n SSH.<\/p><h2 class=\"wp-block-heading\" id=\"h-conclusion\"><strong>Conclusi&oacute;n<\/strong> <\/h2><p>Un archivo .sh es un script ejecutable que contiene una serie de comandos. Se usa principalmente para simplificar operaciones complejas, ejecutar programas y automatizar tareas en Linux.<\/p><p>Para crear un archivo .sh, usa el comando <strong>touch<\/strong> y, despu&eacute;s, a&ntilde;ade los comandos al archivo con un editor de texto como <strong>Nano<\/strong>. Si usas una interfaz gr&aacute;fica, abre un editor de texto, escribe el script y gu&aacute;rdalo en la ubicaci&oacute;n que prefieras.<\/p><p>Luego, haz que el archivo .sh sea ejecutable a&ntilde;adiendo el permiso correspondiente con el comando <strong>chmod<\/strong>. Tambi&eacute;n puedes hacerlo desde la interfaz gr&aacute;fica, en la pesta&ntilde;a <strong>Permisos<\/strong> del men&uacute; <strong>Propiedades<\/strong> del archivo.<\/p><p>Ejecuta el script .sh indicando su nombre en la terminal de Linux. Como alternativa, puedes pasarlo expl&iacute;citamente a un int&eacute;rprete de comandos como bash. Si usas una interfaz gr&aacute;fica, haz clic derecho en el archivo y luego en <strong>Ejecutar como programa<\/strong>.<\/p><h2 class=\"wp-block-heading\" id=\"h-sh-file-faq\"><strong>Preguntas frecuentes sobre archivos .sh<\/strong> <\/h2><div class=\"schema-faq wp-block-yoast-faq-block\"><div class=\"schema-faq-section\" id=\"faq-question-1746452242159\"><h3 class=\"schema-faq-question\"><strong>&iquest;Qu&eacute; es un archivo .sh?<\/strong><\/h3>  <p class=\"schema-faq-answer\">Un archivo .sh en Linux es un archivo ejecutable que contiene una serie de comandos. Pi&eacute;nsalo como un script que define una secuencia de acciones que la l&iacute;nea de comandos de tu sistema debe completar. <br>Este archivo te sirve para automatizar tareas, ejecutar programas o agilizar la ejecuci&oacute;n de comandos. Adem&aacute;s de ahorrarte tiempo y esfuerzo, te ayuda a reducir los errores humanos.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1746452249698\"><h3 class=\"schema-faq-question\"><strong>&iquest;Qu&eacute; permisos necesitas para un archivo .sh?<\/strong><\/h3>  <p class=\"schema-faq-answer\">Un archivo .sh necesita todos los permisos para funcionar correctamente, que son <strong>lectura<\/strong>, <strong>escritura<\/strong> y <strong>ejecuci&oacute;n<\/strong>. Esto asegura que puedas ver, editar y ejecutar el script. <br>Sin embargo, por lo general solo otorgas estos privilegios a la persona propietaria del archivo por razones de seguridad. Para otras personas usuarias, pueden ejecutar el archivo con <strong>sudo<\/strong>. <\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1746452264010\"><h3 class=\"schema-faq-question\"><strong>&iquest;Puedo editar un archivo .sh con cualquier editor de texto?<\/strong><\/h3>  <p class=\"schema-faq-answer\">S&iacute;. Un script bash con extensi&oacute;n .sh funciona como cualquier otro tipo de archivo, lo que significa que puedes editarlo con distintos editores de texto. Por ejemplo, puedes abrirlo con Nano, Vim, Gedit y otros. <br>Sin embargo, aseg&uacute;rate de tener habilitado el permiso de escritura en el archivo .sh, porque de lo contrario no podr&aacute;s editarlo. <\/p> <\/div> <\/div>\n","protected":false},"excerpt":{"rendered":"<p>Un archivo .sh en Linux es un script de shell ejecutable que contiene una serie de comandos que se ejecutan de forma secuencial. Se suele usar para simplificar operaciones complejas, automatizar tareas y ejecutar programas. Saber c&oacute;mo crear y ejecutar un archivo de shell es clave para administrar un sistema Linux de forma m&aacute;s eficiente [&#8230;]<\/p>\n<p><a class=\"btn btn-secondary understrap-read-more-link\" href=\"\/es\/tutoriales\/como-ejecutar-archivo-sh-en-linux\">Read More&#8230;<\/a><\/p>\n","protected":false},"author":560,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"rank_math_title":"C\u00f3mo ejecutar un archivo .sh en Linux","rank_math_description":"Aprende c\u00f3mo ejecutar un archivo .sh en Linux desde la terminal o la interfaz gr\u00e1fica, crear scripts .sh y configurar permisos de ejecuci\u00f3n.","rank_math_focus_keyword":"archivo .sh","footnotes":""},"categories":[14519],"tags":[],"class_list":["post-52993","post","type-post","status-publish","format-standard","hentry","category-managing-monitoring-and-security"],"hreflangs":[{"locale":"es-ES","link":"https:\/\/www.hostinger.com\/es\/tutoriales\/como-ejecutar-archivo-sh-en-linux\/","default":1},{"locale":"es-AR","link":"https:\/\/www.hostinger.com\/ar\/tutoriales\/como-ejecutar-archivo-sh-en-linux\/","default":0},{"locale":"es-MX","link":"https:\/\/www.hostinger.com\/mx\/tutoriales\/como-ejecutar-archivo-sh-en-linux\/","default":0},{"locale":"es-CO","link":"https:\/\/www.hostinger.com\/co\/tutoriales\/como-ejecutar-archivo-sh-en-linux\/","default":0}],"acf":[],"_links":{"self":[{"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/posts\/52993","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/users\/560"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/comments?post=52993"}],"version-history":[{"count":3,"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/posts\/52993\/revisions"}],"predecessor-version":[{"id":53322,"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/posts\/52993\/revisions\/53322"}],"wp:attachment":[{"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/media?parent=52993"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/categories?post=52993"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/tags?post=52993"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}