Cada vez que abro un archivo .sh, lo abre en gedit en lugar del terminal. No puedo encontrar ninguna opción similar a Click derecho → Abrir con → Otra aplicación ... → Terminal .
¿Cómo abro este archivo en la terminal?
ruby foo.rb
Cada vez que abro un archivo .sh, lo abre en gedit en lugar del terminal. No puedo encontrar ninguna opción similar a Click derecho → Abrir con → Otra aplicación ... → Terminal .
¿Cómo abro este archivo en la terminal?
ruby foo.rb
Respuestas:
Otorgue permiso de ejecución a su script:
chmod +x /path/to/yourscript.sh
Y para ejecutar tu script:
/path/to/yourscript.sh
Como se .
refiere al directorio actual: si yourscript.sh
está en el directorio actual, puede simplificar esto para:
./yourscript.sh
bash /path/to/yourscript.sh
entonces no necesitachmod +x
. /path/to/yourscript.sh
si el script tiene que configurar algunas variables de entorno.
./path/to/yourscript.sh
(sin el espacio después .
)? Creo que este es el más simple y fácil de usar ... Pero de todos modos, aquí está mi alternativa que debería hacer casi lo mismo que ./
haría, aunque no veo por qué no usarías ./
: (FILENAME=~/rem4space.sh;SLL=$(cat $FILENAME|head -1|sed 's:^#!\(.*\):\1:g');[ ! -z $SLL ] && exec $SLL $FILENAME;sh $FILENAME)
... edita FILENAME
a tu gusto . También tenga en cuenta que sh
se utilizará si no hay alternativa.
Debe marcar los scripts de shell como ejecutables para ejecutarlos desde el administrador de archivos:
Haga clic derecho en su .sh
archivo y seleccione Propiedades :
En la pestaña Permisos , marque Permitir ejecutar archivo como programa :
Cierre la ventana Propiedades y haga doble clic en el archivo. Aparecerá un cuadro de diálogo que le dará la opción de ejecutar el script en una terminal:
Abra una terminal y navegue a la carpeta donde .sh
se encuentra el archivo. Luego escriba:
sh <name of file>.sh
Antes de que pueda ejecutar el archivo .sh, debe hacerlo ejecutable:
Asegúrese de confiar en la fuente de donde obtuvo el archivo. Podría ser un virus .
Esto tiene un problema El terminal se cerrará inmediatamente y no podrá ver la salida.
Encuentra dónde está el archivo .sh
ls
ycd
ls
enumerará los archivos y carpetas en la carpeta actual . Pruébalo: escribe "ls" y presiona Enter.cd
, seguido de un espacio, seguido de un nombre de carpetacd ..
ir un nivel arribaEjecute el archivo .sh
Una vez que pueda ver, por ejemplo, script1.sh
con ls
ejecutar esto:
./script.sh
El terminal tiene un rico conjunto de herramientas poderosas a las que se puede acceder escribiendo los comandos. Los profesionales localizan el archivo .sh escribiendo ls
y cd
. Una vez que esté en la carpeta actual correcta , puede ejecutar el script de esta manera:
./script1.sh
o puede ejecutar y redirigir la salida a un archivo:
./script1.sh > out.txt
o puede filtrar la salida para palabras clave (por ejemplo, "manzanas") y luego redirigir a un archivo:
./script1.sh | grep apples > ./only-apples
Hay miles de cosas que puede hacer para ese archivo simplemente escribiendo algunos comandos.
Otro, puede descargar un archivo de Internet con un simple comando:
wget www.google.com/images/logos/ps_logo2.png
Y luego abra el archivo así:
shotwell ps_logo2.png
En Ubuntu 13.04, los archivos ejecutables abiertos en Nautilus ahora se abren en gedit de forma predeterminada en lugar de solicitar al usuario que los ejecute. Para habilitar el comportamiento clásico, debe ajustar las preferencias:
Nautilus → Menú Editar → Preferencias → pestaña Comportamiento → Haga clic en el botón de radio cerca de Preguntar cada vez.
Vaya al directorio donde está el .sh
archivo usando cd
. En este ejemplo, he almacenado mi sh
archivo como~/Desktop/shell_practice/test.sh
primero hazlo pwd
para averiguar dónde estás, y si vuelve /home/username
(dónde username
está tu nombre de usuario real), puedes ejecutar
cd Desktop/shell/practice
Si parece estar en otro lugar, puede usar la ruta absoluta
cd ~/Desktop/shell/practice
o
cd $HOME/Desktop/shell/practice
o incluso
cd /home/$USER/Desktop/shell/practice
Estas son todas formas de describir el mismo lugar. Una vez que haya llegado a la ubicación de su script, escriba
ls
Si puede ver el sh
archivo en la salida, puede usarlo chmod
para hacerlo ejecutable. En mi caso, recuerda, el nombre del archivo es test.sh
, así que correría
chmod u+x test.sh
Ahora que estamos en el mismo directorio que el script, tenemos que especificar al shell que queremos ejecutar el archivo dando su ubicación ./
(el directorio actual seguido de un separador de ruta, para distinguirlo del nombre del archivo). Para ejecutar mi archivo, escribiría:
./test.sh
Si su script ha sido escrito correctamente, se ejecutará sin errores ...
2 pasos principales.
en la terminal, use gedit para escribir y guardar el script con la extensión ".sh" en el escritorio. (pero se puede usar cualquier editor de texto)
abra Nautilus y haga clic derecho en el archivo script.sh.
bajo propiedades, marque la casilla "permitir ejecutar archivo ..."
en el menú de Nautilus, haga clic en archivo, luego en preferencias, luego en comportamiento
marque "ejecutar archivos de texto ejecutables cuando se abren".
Ahora, cuando hace doble clic en el archivo en el escritorio, debería ejecutarse. no es necesario .
o./
Haga clic derecho en el .sh
archivo y hágalo ejecutable.
Abrir una terminal ( Ctrl+ Alt+ T).
Arrastre el .sh
archivo a la ventana del terminal y mire con asombro.
Hay algunas formas de hacer esto.
En la terminal, acceda al directorio en el que se encuentra el archivo Bash cd
(cambiar directorio).
Ex. cd Downloads
correr bash <filename>.sh
Esto también funciona con archivos .run. Hay un ejemplo de este uso en esta página web sobre la actualización de Rhythmbox.
En la terminal, navegue al directorio en el que se encuentra el archivo bash.
correr chmod +x <filename>.sh
En Nautilus, abra el archivo.
Para Ubuntu 18.04 , hay una pequeña modificación, ya que no aparece un cuadro de diálogo emergente.
Entonces, lo que debe hacer es:
Haga clic derecho en Archivos, seleccione Preferencias> Seleccione la pestaña Comportamiento> Marque la opción 'Preguntar qué hacer' en Archivo de texto ejecutable.
Ahora, cuando hace doble clic en cualquier archivo .sh, aparecerá una ventana emergente, allí puede seleccionar la opción "ejecutar en terminal" para ejecutar su archivo .sh.
En Ubuntu 16.04, así es como abrirlo en la Terminal:
Vaya a File Manager > Edit > Preferences > Behavior
para Executable Text Files
y seleccione Ask each time
.
El problema es que está configurado de forma predeterminada en View Executable Files when they are opened
.
Si coloca su script de shell u otro ejecutable que cree en / usr / local / bin, se encontrará y ejecutará sin tener que proporcionar una ruta de carpeta en la línea de comando o agregar ./ al nombre. Por ejemplo, creé el siguiente script bash simple de 3 líneas para mostrar los UUID de disco:
#!/bin/bash
echo "* UUIDs must match in /etc/fstab and /boot/grub/menu.lst"
sudo blkid
Llamé al archivo uuid y lo coloqué en / usr / local / bin. Todo lo que necesito para ingresar en la línea de comando es:
uuid
Bueno, yo también enfrenté el mismo problema. Quería ejecutar el archivo .sh y se abrió con Gedit en CentOS 7. Entonces, esto es lo que hice:
.sh
archivo que quería ejecutar.El problema que he encontrado en algunas distribuciones es que han ocultado la opción de preferencias en Nautilus, pero arreglarlo en Ubuntu y otras distribuciones usando Gnome3 es el mismo (literalmente acabo de hacer la versión de Fedora y publiqué la solución real para recordarme) como en el futuro).
Instalar en pc dconf-editor
sudo apt-get install dconf-editor
Ejecutar dconf-editor
usando la cuenta de usuario en la que desea esto, es decir, NO root
dconf-editor
Navegue al siguiente esquema:
org.gnome.nautilus.preferences
Cambie la opción predeterminada para que no se abra de manera predeterminada:
Encuentra haz executable-text-activation
clic en la palabra display
y cambia aask
eso le dará la opción de editar, ver o ejecutar el archivo en el futuro
Soy un novato en Linux y tuve el mismo problema. Si todo lo demás falla:
También puedes usar .
trucos, con la sugerencia de otras respuestas.
Por ejemplo:
chmod +x filename.sh
, suponiendo que ya haya ido a la ruta del archivo, ejecute el archivo con cualquiera de estos comandos:
sh filename.sh
./filename.sh
. filename.sh