: bad interpreter:

Bash, Shell, PHP, Python, Perl, CGI
nilso
Posts: 25
Joined: 2003-10-08 19:10

: bad interpreter:

Post by nilso »

Hallo Leute,

ich wollte mir via Shell Script paar Sachen erleichtern aber wenn ich mein Script lafen lassen will kommt immer diese Meldung:

Code: Select all

draco:~/shellscript#./neuer_user_mit_web_und_ftp.sh
: bad interpreter: No such file or directorybash
Script Code:

Code: Select all

#!/bin/bash
#Variablen für httpd.conf Auswahl "initialisieren"
selConf=3 #3 Damit die While Schleife greift
tmpconf=0 


#Eingaben und Abfragen
clear
echo "Benutzernamen bitte eingeben: "
read user
echo "Benutzer Domain eingeben (ohne www. Bps nilskeller.de): "
read domain

while [ $selConf -gt 2 ]
 do
   echo "----------------------------------------"
   echo "|   http.conf für den Benutzer wählen  |"
   echo "----------------------------------------"
   echo "|  1. | httpd.conf mit Autoindex       |"
   echo "|  2. | httpd.conf ohne Autoindex      |"
   echo "----------------------------------------"
   echo -n "Auswahl bitte [1-2]: "
   read selConf
   if test $selConf -gt 2
   then
       clear
       echo "----------------------------------------"
       echo "|   Nur eine Nummer ziwschen 1 und 2   |"
   fi
 done

# Nun httpd.conf Templetdateie auswählen
case $selConf in
    #httpd.conf mit Autoindex
    1) tmpconf=httpdindex.temp;;
    #httpd.conf ohne Autoindex
    2) tmpconf=httpd.temp;;
    *) echo "Sorry flasche httpd.conf Auswahl ! & ?"; exit 1;;
esac



#Benutzerhinzufühgen
useradd -d /home/$user -G ftpuser -m -s /bin/ftp $user
#Passwortfestlegen
passwd $user

#Benötigten Verzeichnisse anlegen
mkdir /home/$user/config
mkdir /home/$user/data
mkdir /home/$user/domains
mkdir /home/$user/logs
mkdir /home/$user/domains/$domain


#httpd.conf anlegen
sed s/DOMAIN/$domain/g < $tmpconf | sed s/BENUTZER/$user/g > /home/$user/config/httpd.conf

#Symbolischen link für die httpd.conf vom Benutzer anlegen
ln -s /home/$user/config/httpd.conf /etc/apach2/sites-enabled/$user

#Standart Domain Webseite kopieren
cp ucon.tar /home/$user/domains/$domain
tar -xf /home/$user/domains/$domain/ucon.tar
rm -f /home/$user/domains/$domain/ucon.tar

#Verzeichniss berechtigungen richtig setzen
chown -R $user.users /home/$user
chown -R root.root /home/$user/config
chown $user.nogroup /home/$user

#Apache neustarten
/etc/init.d/apache2 restart
exit 0
Wenn ich versuche das Script mit

Code: Select all

draco:~/shellscript# bash neuer_user_mit_web_und_ftp.sh
starten will passiert das :

Code: Select all

draco:~/shellscript# bash neuer_user_mit_web_und_ftp.sh
: command not foundund_ftp.sh: line 4:
: command not foundund_ftp.sh: line 5:
: command not foundund_ftp.sh: line 6:
: command not foundund_ftp.sh: line 8: clear
Benutzernamen bitte eingeben:
Hättet ihr ne Idee was ich falsch gemacht habe?
[edit]Ich möchte das Script als Root ausführen[/edit]
Vielen Dank fürs lesen,

mfG
Nils
captaincrunch
Userprojekt
Userprojekt
Posts: 7066
Joined: 2002-10-09 14:30
Location: Dorsten

Re: : bad interpreter:

Post by captaincrunch »

Hättest du das File nicht mit einem Windows-Editor bearbeitet, oder "richtig" hochgeladen, wär das Problem nicht existent. ;)
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
nilso
Posts: 25
Joined: 2003-10-08 19:10

Re: : bad interpreter:

Post by nilso »

Danke habe die Datiee noch mal von Hand auf dme Server geschrieben und nun geht es.
Nur habe ich nun das Problem das ich mir irgend wie bei root user die Umgebungsveriable PATH versaut habe :-/
Kann man das Resetten?
thorsten
Posts: 561
Joined: 2003-02-01 13:14
Location: Fuldatal

Re: : bad interpreter:

Post by thorsten »

So sollte der Path aussehen:

Code: Select all

~# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11
Wie hast du dir denn dabei den Path dauerhaft verändert?
Ein neues Einloggen genügt nicht mehr?
User avatar
Joe User
Project Manager
Project Manager
Posts: 11174
Joined: 2003-02-27 01:00
Location: Hamburg

Re: : bad interpreter:

Post by Joe User »

NilsO wrote:Danke habe die Datiee noch mal von Hand auf dme Server geschrieben und nun geht es.
Alternative:

Code: Select all

sed 's/^M$//' -i $dosfile
NilsO wrote:Kann man das Resetten?
Was sagt (als root):

Code: Select all

echo $PATH
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
nilso
Posts: 25
Joined: 2003-10-08 19:10

Re: : bad interpreter:

Post by nilso »

Thorsten wrote:Wie hast du dir denn dabei den Path dauerhaft verändert?
Ein neues Einloggen genügt nicht mehr?
Naja mit

Code: Select all

PATH=.....; export PATH
Neu einloggen bringt nichts, leider.

Joe User wrote:
NilsO wrote:Danke habe die Datiee noch mal von Hand auf dme Server geschrieben und nun geht es.
Alternative:

Code: Select all

sed 's/^M$//' -i $dosfile
Danke sehr gut zuwissen.

Joe User wrote: Was sagt (als root):

Code: Select all

echo $PATH
Das kommt dabei raus:

Code: Select all

Draco:~/shellscript# echo $PATH
/user/ucb:/bin:/usr/sbin:/usr/bin:/usr
Aber auch erst nach dem ich mühsam mit find nach den einzelen Befehlen im System gesucht habe und mir die Pfade dann wieder neu eingetragen habe.
captaincrunch
Userprojekt
Userprojekt
Posts: 7066
Joined: 2002-10-09 14:30
Location: Dorsten

Re: : bad interpreter:

Post by captaincrunch »

/user/ucb? Sofern es dabei nicht gerade um ne Slowlaris-Box geht, sind da gleich zwei Fehler auf ein Mal drin. ;)
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc