• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

PROBLEM GELÖST - DANKE: Das cd Kommando in einem Script

Hallo,

wahrscheinlich fallen jetzt tausen Leute über mich her, weil die Frage schon zig-mal gestellt und beantwortet wurde. Aber: es gibt mehr dumme Antworten als dumme Fragen. Daher:

In einem Script unter Bash funktioniert das cd Kommando nicht. Unter sh oder ash auch nicht. Am prompt eingegeben aber schon. Jetzt weiss ich nicht weiter, aber vielleicht hat ja jemand eine Idee. Danke jedenfalls...

Gruß and alle
 
der cd comando geht schon nur du siehst es nicht auf deiner konsole, weil er script intern ist (so isses mal bei mir).
 
Mach ich glatt:


#! /bin/bash

echo "Setting embedded workspace"
export PROJECT='rov-module'
echo 'Set PROJECT to '$PROJECT'.'
export PRJROOT=$HOME'/embedded/'$PROJECT
echo 'Set PRJROOT to '$PRJROOT'.'
export TARGET='i386-linux'
echo 'Set TARGET to '$TARGET'.'
export PREFIX=$PRJROOT'/tools'
echo 'Set PREFIX to '$PREFIX'.'
export TARGET_PREFIX=$PREFIX/$TARGET
echo 'Set TARGET_PREFIX to '$TARGET_PREFIX'.'
export PATH=$PREFIX'/bin:'$PATH
echo 'Set PATH to '$PATH'.'
echo 'Changing current directory to '$PRJROOT'.'
cd $PRJROOT
 
Skripte werden in einer sub-shell gestartet, das heißt alle Kommandos werden dort ausgeführt. Nach Beendigung des Skripts wird die Shell geschlossen und du bist wieder in der aufrufenden Shell. Deshalb siehst du das Ergebnis von cd nicht. Wenn du ein Skript in der aktuellen Shell ausführen willst, starte das Skript so ". /pfad/zum/skript" also Punkt Leerzeichen Skritp
 
stka schrieb:
Skripte werden in einer sub-shell gestartet, das heißt alle Kommandos werden dort ausgeführt. Nach Beendigung des Skripts wird die Shell geschlossen und du bist wieder in der aufrufenden Shell. Deshalb siehst du das Ergebnis von cd nicht. Wenn du ein Skript in der aktuellen Shell ausführen willst, starte das Skript so ". /pfad/zum/skript" also Punkt Leerzeichen Skritp

Konnt' ja nur so eine Kleinigkeit sein. Herzlichen Dank, hab auch noch was gelernt dabei.

Gruß aus Charlottenburg,

Oke
 
Oben