Ma configuration est que j'ai un site Web (www.example.com) sur lequel j'ai téléchargé des scripts bash sur www.example.com/location/of/bash/script.txt.
Je voudrais maintenant un fichier Desktop Launcher (.desktop) que je peux utiliser pour ouvrir le terminal, puis lancer l’exécution du script à partir du site Web. Jusqu'à présent, j'ai créé un fichier .desktop qui peut ouvrir le terminal mais ne pas exécuter correctement le script à partir de l'URL.
Ma commande dans le fichier .desktop est
gnome-terminal --execute bash -c "http: www.example.com/location/of/bash/script.txt"; frapper
Lorsque je clique sur le fichier .desktop, il s'ouvre, tente d'exécuter le script et génère le message d'erreur "Aucun fichier ou répertoire de ce type". Toute aide à cet égard est très appréciée.
Aussi simple et dangereux:
Faites votre fichier de bureau ressembler à ceci:
[Desktop Entry]
Type=Application
Encoding=UTF-8
Name=Sample Application Name
Comment=A sample application
Exec=sh -c 'curl -s http://www.example.com/path/to/script.sh | bash'
Icon=application.png
Terminal=true
Cela créera un sous-shell, exécutera 'curl' pour lire le fichier, puis le dirigera vers bash.
Simple et dangereux. Dangereux? Oui, voir ci-dessous…
wget -q -O - http://www.example.com/location/of/bash/runhello | bash
ou avec
bash <(curl -s http://www.example.com/location/of/bash/runhello)
ou une autre combinaison de wget
/curl
et bash
.
bash <(curl -s URL)
ou wget -q -O - URL | bash
.Je vous suggère de créer un script qui effectue tout en 2 étapes: téléchargez le script d'origine, puis exécutez-le localement.
Quelque chose comme ça :
#!/bin/bash
#download , save as /tmp/script
wget -O /tmp/script.sh www.example.com/location/of/bash/script.txt
#give executable permissions
chmod +x /tmp/script.sh
# run it
gnome-terminal --execute bash -c "/tmp/script.sh; bash"