Sie können auf das aktuelle Arbeitsverzeichnis mit $cwd
verweisen. Wenn Sie also mit einem Pfad relativ zum aktuellen Arbeitsverzeichnis aufrufen möchten, starten Sie die Zeile mit $cwd
.
Zum Beispiel, wenn Sie die im aktuellen Verzeichnis anrufen wollen, sagen:
$cwd/../printsth
Seien Sie sicher, dass es ein:
$cwd/printsth
Wenn Sie das ein Verzeichnis über anrufen möchten csh
Skript obwohl (dh die erste Zeile ist #!/bin/csh
). Wenn es sich um ein sh
oder bash
Skript handelt, müssen Sie $PWD
(für 'vorhandenes Arbeitsverzeichnis') verwenden, nicht $cwd
.
EDIT:
Wenn Sie ein Verzeichnis in Bezug auf das Verzeichnis des Skript möchten, nicht das aktuelle Verzeichnis arbeiten, dann können Sie dies tun:
setenv SCRIPTDIR `dirname $0`
$SCRIPTDIR/printsth
Das $SCRIPTDIR
in das gleiche Verzeichnis wie die eingestellt wird ursprüngliches Skript. Sie können dann Pfade relativ dazu erstellen.
Warum denkst du, dass das nicht funktioniert? Lerne, dein Shell-Debugging zu aktivieren, zB 'set -vx' (oder ähnlich für csh) UND' echo $ cwd' usw., um zu sehen, wo du bist. Viel Glück. – shellter