Page 1 sur 1

[Shell] - Script shell / Erreur à l'exécution

Posté : lun. 8 juin 2015 19:56
par bigbrownies
Bonsoir,

Je tourne sous raspbian jessie 8.0 et avec comme shell : bash

Je rencontre un problème avec mes scripts shell :

voilà la contenance de mon script :

Code : Tout sélectionner

#!/bin/bash

toto='a'

echo $toto
Pas grand chose et pourtant des erreurs au lancement avec "sudo sh -v test.sh" :

Code : Tout sélectionner

#!/bin/bash

: not found test.sh:
toto='a'

: not found test.sh:
echo $totoa
et voici mes droits sur le fichier :

Code : Tout sélectionner

# file: test.sh
# owner: root
# group: root
user::rw-
user:a2Mit37MpL6j:rwx           #effective:rw-
group::r-x                      #effective:r--
mask::rw-
other::r--
Si vous avez une idée ca m'aiderai beacoup.

Cd,

Re: [SOFT] Script shell

Posté : lun. 8 juin 2015 20:21
par destroyedlolo
Salut,

N'aurais-tu pas édité ton fichier sur m$-win machin et n'y aurait-il pas de ^M a la fin des lignes ?

Re: [SOFT] Script shell  [RESOLU]

Posté : lun. 8 juin 2015 20:33
par bigbrownies
Merci pour ta réponse rapide.

Oui j'ai édité sur notepad++ sous windows et je l'ai importé via serveur SFTP.

Non il n'y a pas de ^M apparant en fin de ligne mais c'est possible. Comment je peux faire pour importer proprement mon fichier de windows à linux ?

Cd,


EDIT : effectivement, j'ai tenté une exécution avec la commande ./test.sh sous root et ca donne ça :

Code : Tout sélectionner

21:09 | root@betty # > ./test.sh
-bash: ./test.sh : /bin/bash^M : mauvais interpréteur: Aucun fichier ou dossier de ce type
Et on voit bien le ^M

Du coup me faut un moyen d'éditer sous windows sans ce type de caractère.
Je vais googler tout ça.

J'arrive à enlever les caractères avec VI qui me les affiche mais NANO ne le fait pas.
Mais ce n'est pas une réelle solution, je ne me vois pas faire ça pour chaque scripts[/b]

EDIT2 : J'ai trouvé un moyen, sous notepadd++ :
Allez dans paramétrages --> préférences
Dans la partie gauche choisir 'nouveau document' puis choisir format de saut de ligne Unix

Et voilà le tour est joué.

Merci encore pour le coup de main ^^