GNU/Linux >> Tutoriels Linux >  >> Linux

Exécutez le fichier texte en tant que commandes dans Bash

Exécuter

. example.txt

Cela fait exactement ce que vous demandez, sans définir d'indicateur d'exécutable sur le fichier ni exécuter une instance bash supplémentaire.

Pour une explication détaillée, voir par ex. https://unix.stackexchange.com/questions/43882/what-is-the-difference-between-sourcing-or-source-and-executing-a-file-i


Vous pouvez utiliser quelque chose comme ceci :

for i in `cat foo.txt`
do
    sudo $i
done

Bien que si les commandes ont des arguments (c'est-à-dire qu'il y a des espaces dans les lignes), vous devrez peut-être vous amuser un peu avec cela pour protéger l'espace blanc afin que la chaîne entière soit vue par sudo comme une commande. Mais cela vous donne une idée sur la façon de commencer.


vous pouvez créer un script shell avec ces commandes, puis chmod +x <scriptname.sh> , puis exécutez-le simplement par

./scriptname.sh

C'est très simple d'écrire un script bash

Fichier sh de maquette :

#!/bin/sh
sudo command1
sudo command2 
.
.
.
sudo commandn

vous pouvez aussi simplement l'exécuter avec un shell, par exemple :

bash example.txt

sh example.txt

Linux
  1. Comment exécuter une commande Linux bash dans un script PERL ?

  2. Script Bash :vérifier si un fichier est un fichier texte ?

  3. Exécuter un fichier de script sur Ssh via Sudo ?

  4. Tuer le processus par fichier pid

  5. script bash ajoute du texte à la première ligne d'un fichier

Comment exécuter des commandes particulières sans mot de passe Sudo sous Linux

Comment exécuter les commandes de fichier .sh tout en une fois sous Linux

Script bash :comment lire des données à partir de fichiers texte

Comment exécuter des commandes Sudo sans mot de passe

4 commandes Stat sous Linux avec exemple pour les utilisateurs débutants

Comment exécuter les commandes sudo sans mot de passe