Vous n'êtes pas identifié.
Salut!
Pour installer un programme, je dois exécuter un petit fichier écrit en shell, mais le terminal me dit qu'il y a une erreur de syntaxe au début.
Le début du fichier shell :
#!/bin/bash # Function to establish user id of current user. # We call this function later on to test if they are ROOT and fail if they are. getUID() { id $1 | sed -e 's/(.*$//' -e 's/^uid=//' } # Test if user is root and deny access if they are. # It is not a good idea to be running software as root. if [ "`getUID`" = 0 ] ; then echo "ERROR: You can't run this as ROOT. Change to another user and try again."; exit; fi
Les erreurs :
'/GoWeather.sh: line 4: syntax error near unexpected token `{
'/GoWeather.sh: line 4: `getUID(){
Bon bon, je ne connais presque pas le bash, mais je n'ai pas trouvé d'erreur dans l'appel de la fonction (selon mon de vue du langage "C" et un petit site sur le bash...).
Est-ce que vous voyez l'erreur de syntaxe, svp ?
Hors ligne
Hello,
Chez moi ça marche, quel shell utilises-tu ? (i.e. est-ce que /bin/bash est un symlink vers un autre shell ?)
Sinon, chez moi on peut choper l'uid dans $UID, c'est plus simple si $1 est vide.
Mais vu qu'il ne s'agit que d'une mesure de précaution, tu peux joyeusement enlever ce bout de code s'il te pose problème...
Hors ligne