451 votes

Comment exécuter des scripts .sh ?

Chaque fois que j'ouvre un fichier .sh, il l'ouvre dans gedit au lieu du terminal. Je ne trouve aucune option similaire à Clic Droit Ouvrir Avec Autre Application... Terminal.

Comment puis-je ouvrir ce fichier dans le terminal?

0 votes

Est-ce que ce script vise à configurer des variables d'environnement pour une utilisation ultérieure ?

0 votes

Vous n'avez pas besoin de l'extension de fichier. C'est agréable à avoir mais ce n'est pas nécessaire. Le système d'exploitation ne regarde pas l'extension de fichier. Il regarde les données

8 votes

Meh, si vous réécrivez foo.sh en ruby, vous pouvez toujours utiliser le fichier .sh pour lancer ruby foo.rb

4voto

Tommy Points 51

Sur Ubuntu 16.04, voici comment l'ouvrir dans le Terminal :

Allez dans le Gestionnaire de fichiers > Modifier > Préférences > Comportement pour les Fichiers texte exécutables et sélectionnez Demander à chaque fois.

Le problème est que par défaut, il est défini pour Afficher les fichiers exécutables lorsqu'ils sont ouverts.

2voto

Snider Points 21

Le problème que j'ai rencontré sur quelques distributions est qu'elles ont caché l'option de préférences dans Nautilus, mais pour le corriger dans Ubuntu et d'autres distributions utilisant Gnome3, c'est la même chose (littéralement juste fait la version Fedora de ceci et posté la solution réelle pour me rappeler comment faire à l'avenir).

  1. Installer dconf-editor

    sudo apt-get install dconf-editor
  2. Exécuter dconf-editor en utilisant le compte d'utilisateur sur lequel vous voulez cela, c'est-à-dire PAS root

    dconf-editor
  3. Naviguer vers le schéma suivant:

    org.gnome.nautilus.preferences

  4. Changer l'option par défaut pour ne pas ouvrir par défaut:

    Trouver executable-text-activation cliquer sur le mot display et changer à ask

cela vous donnera l'option d'éditer, afficher ou exécuter le fichier à l'avenir

2voto

Jen Bates Points 21

Eh bien, j'ai aussi rencontré le même problème. Je voulais exécuter le fichier .sh et il s'est ouvert avec Gedit sur CentOS 7. Voici ce que j'ai fait :

  1. Je me suis rendu au chemin du fichier .sh que je voulais exécuter.
  2. J'ai ouvert le terminal.
  3. Et j'ai tout simplement fait glisser et déposer le fichier dans la fenêtre du terminal et il a automatiquement pris ce fichier avec le chemin en entrée.
  4. Appuyez sur Entrée et vous êtes prêt !

2voto

Linux_noob Points 21

Je suis un débutant en Linux et je viens juste d'avoir le même problème. Si tout le reste échoue:

  1. Ouvrez le terminal
  2. Ouvrez le dossier contenant le fichier .sh
  3. Faites glisser et déposez le fichier dans la fenêtre du terminal
  4. Le chemin du fichier apparaît dans le terminal. Appuyez sur Entrée.
  5. Voilà, votre fichier .sh est exécuté.

-3voto

Denis Golomazov Points 1211

Vous pouvez également utiliser des . astuces, avec la suggestion d'autres réponses.

Par exemple :

chmod +x nom_fichier.sh, en supposant que vous vous trouvez déjà dans le chemin du fichier, puis exécutez le fichier avec l'une de ces commandes :

sh nom_fichier.sh

./nom_fichier.sh

. nom_fichier.sh

2 votes

Avertissement : Ces trois commandes ne sont pas équivalentes. Si votre shebang fait référence à un binaire différent (comme Stack), alors la troisième commande va essayer d'analyser les arguments avec Bash, ce qui échouera.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X