Pourquoi mon script expect défaut sur la ligne 1?
La première ligne de mon script expect échoue. Voici l'intégralité du contenu de mon script et il échoue:
#!/usr/bin/expect -f
Et il ne parvient pas droit au large de la chauve-souris avec
": no such file or directory
que ma réponse. Attendez c'est en fait installé et est situé dans /usr/bin/et je suis en cours d'exécution de cette racine. Je n'ai pas d'espaces supplémentaires ou des lignes avant le signe#. Bien sûr, il n'était plus pour le script d'origine, mais il échoue façon avant qu'il arrive à la bonne substance.
si vous supprimez tout, mais la ligne shebang-t-il encore échouer avec le même message d'erreur?
Oui. Je le réduire à une seule ligne et il échoue.
Je l'ai copié d'un autre serveur et que le serveur est capable d'exécuter ce script à la perfection. Les deux sont sur Ubuntu Hardy.
Oui. Je le réduire à une seule ligne et il échoue.
Je l'ai copié d'un autre serveur et que le serveur est capable d'exécuter ce script à la perfection. Les deux sont sur Ubuntu Hardy.
OriginalL'auteur Dennis Day | 2010-12-22
Vous devez vous connecter pour publier un commentaire.
Est-il possible qu'il y est un Windows saut de ligne ("^M") qui est source de confusion le script? Vous pouvez essayer "od" pour voir ce caractère de saut de ligne(s) est, après l' "s'attendre à" et "tofromdos" ou un éditeur de texte (par exemple emacs dans hexl-mode) pour le supprimer. Voir les pages de manuel pour plus d'info.
OriginalL'auteur Bert F
Vos fins de ligne sont faux. Pousser à travers
dos2unix
outr -d '\r'
.L'a appelée.
OriginalL'auteur Ignacio Vazquez-Abrams
J'ai eu ce problème et a trouvé que je n'avais pas le fait de s'attendre interprète installé! Curieusement, si vous avez exécuté la commande dans le shell dans lequel il a travaillé. Cependant, par le biais d'un script shell, j'ai obtenu l'erreur: /usr/bin/attendre: mauvais interpréteur: Aucun fichier ou répertoire de.
Je l'ai corrigé en installant simplement le fait de s'Attendre interprète. Le nom du paquet qui a été choisi a été: attendre libtcl8.6
Il suffit d'exécuter:
OriginalL'auteur G_Style
Je ne sais pas vraiment s'attendre, pour être honnête, mais quand je le lance sur mon système, il "fonctionne" bien. Il ne se passe rien, mais c'est ce que je m'attends. Je n'ai pas de message d'erreur. Selon la page de man,
est la bonne façon de commencer votre script. Attendre avale puis vers le script en cours d'exécution comme le cmd.
La façon dont j'ai réussi à reproduire le problème était de mettre un ^M à la fin de la ligne au lieu d'un retour à la ligne (vu Bert F de réponse et qui m'a incité à essayer). Je suis sûr que vim :set de commande de la liste affiche tous les caractères illisibles.
OriginalL'auteur Glenn McAllister