758 Stimmen

Wie erhält man den absoluten Pfad einer Datei über die Shell (BASH/ZSH/SH)?

Frage: Gibt es einen einfachen sh/bash/zsh/fish/... Befehl, der den absoluten Pfad einer beliebigen Datei ausgibt?

Anwendungsfall: Ich bin im Verzeichnis /a/b und ich möchte den vollständigen Pfad zur Datei drucken c auf der Befehlszeile, so dass ich sie leicht in ein anderes Programm einfügen kann: /a/b/c . Ein einfaches, aber kleines Programm, das dies tut, könnte mir wahrscheinlich 5 oder so Sekunden sparen, wenn es um die Handhabung langer Pfade geht, was sich am Ende summiert. Es überrascht mich daher, dass ich kein Standardprogramm für diese Aufgabe finde - gibt es wirklich keines?

Hier ist eine Beispielimplementierung, abspath.py:

#!/usr/bin/python
# Author: Diggory Hardy <diggory.hardy@gmail.com>
# Licence: public domain
# Purpose: print the absolute path of all input paths

import sys
import os.path
if len(sys.argv)>1:
    for i in range(1,len(sys.argv)):
        print os.path.abspath( sys.argv[i] )
    sys.exit(0)
else:
    print >> sys.stderr, "Usage: ",sys.argv[0]," PATH."
    sys.exit(1)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X