1 votes

Bash script ne fait rien

J'essaie de créer un Shell Shell que je peux exécuter de n'importe où dans le terminal,

le script envoie simplement un message en écho

#!/bin/bash
echo "Excellent work Snake!"

J'ai modifié les permissions de scripts avec

chmod 775 test.sh

Le script est dans mes documents, j'ai fait un lien symbolique vers /usr/bin avec

ln -s ./test.sh /usr/bin

Lorsque je lance le script à partir de la maison par exemple, au lieu que le message s'affiche, rien ne se passe, par ex.

babbleshack@babbleshack ~ $ test
babbleshack@babbleshack ~ $ 

Est-ce que je n'ai pas compris quelque chose ?

4voto

test est un logiciel bash intégré - appelé sans arguments, comme dans votre exemple, il ne fait rien 1 .

Votre Shell Shell n'est pas appelé test mais test.sh Pour l'exécuter, il faut donc taper :

$ test.sh

Mais ce n'est pas le seul problème. Votre commande ln -s ./test.sh /usr/bin ne fait pas tout à fait ce que vous pensez - ./test.sh est un chemin relatif, et les liens vers les chemins relatifs sont relatifs à l'emplacement du lien, no par rapport à l'endroit où vous vous trouviez lorsque vous avez tapé la commande.

Vous voulez en fait quelque chose comme :

$ ln -s /home/babbleshack/test.sh /usr/bin

... à partir de laquelle les choses devraient fonctionner.


1 Techniquement, il sans succès ne fait rien (en d'autres termes, il renvoie un code d'erreur non nul). Si cela ne vous dit rien, ne vous inquiétez pas, ce n'est pas important dans le cadre de cette réponse.

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