[gelöst] Script bleibt nach Wechsel nicht im Verzeichnis

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
seels

[gelöst] Script bleibt nach Wechsel nicht im Verzeichnis

Beitrag von seels » 22.09.2007 15:36:57

Hallo Forum,

ich fange jetzt zwecks Informatikstudium mit dem Bash scripten an. Klappt auch soweit ganz gut, nur eine Sache klappt irgendwie nicht. Wenn ich in einem Script das Verzeichnis mit cd ordner/ wechseln möchte klappt das auch, ich möchte aber, dass das Script nach dem Beenden auch in diesem Ordner bleibt, tut es aber nicht.

Ein einfaches Beispiel:

Code: Alles auswählen

#!/bin/bash

cd $1
Hier wechselt er in das angegebene Verzeichnis, nachdem das Script beendet wird geht er aber wieder in das alte Verzeichnis.

Unter der Aufgabe die ich bekommen habe steht "Wie müssen Sie das Script aufrufen, damit Sie nach Scriptende im Verzeichnis bleiben?"

Also müsste ich das Script irgendwie anders aufrufen?
Ich mache das bisher immer mit ./script.sh oder sh script.sh

Danke und Gruß
seels
Zuletzt geändert von seels am 22.09.2007 15:49:20, insgesamt 1-mal geändert.

Benutzeravatar
fatzgenfatz
Beiträge: 51
Registriert: 19.06.2003 10:13:00
Wohnort: Tirol/Österreich

Beitrag von fatzgenfatz » 22.09.2007 15:42:51

Mir fällt da nur

Code: Alles auswählen

source script.sh
ein, aber ich glaube nicht, dass das die gesuchte Lösung ist.

mfG,
f.
[A computer is] like an Old Testament god, with a lot of rules and no mercy.
- Joseph Campbell

Benutzeravatar
armin
Beiträge: 2682
Registriert: 17.03.2005 11:49:14

Beitrag von armin » 22.09.2007 15:43:19

Das "Problem" ist, dass das Skript in einer Sub-Shell gestartet wird, also als eigener Prozess und damit keine Auswirkungen auf die Shell aus der du es startest hast.
Versuche das Skript mal zu "Sourcen", das sollte eigentlich gehen.
. ./script.sh
oder
source ./script.sh
Du startest das Skript dadurch in deiner aktuellen Shell.

EDIT: Verdammt, zu langsam. Ich denke aber schon, dass das sie Lösung ist - eine andere fällt mir zumindest nicht ein.
Formerly known as Trigger.
HP 8510p - Debian Sid
Mitglied des Debian-KDE-Teams

seels

Beitrag von seels » 22.09.2007 15:49:00

Wow das ging ja schnell und eine super Erklärung!
Danke euch beiden, genau so gehts!

Antworten