Best Practice der Unix-Variablen: Soll eine Variable, die einen Pfad enthält, in einem Schrägstrich enden?

8

Was ist die beste Vorgehensweise beim Speichern eines Verzeichnisses in einem Dateinamen auf einem Unix-System? Sollte der Verzeichnispfad in einem Schrägstrich enden?

Methode A

%Vor%

was Ihnen erlaubt:

%Vor%

Methode B

%Vor%

was Sie tun können (mit einem zusätzlichen Schrägstrich, der weniger sauber erscheint):

%Vor%

ermöglicht Ihnen aber auch:

%Vor%

Was ich bei der ersten Methode nicht für möglich halte.

    
sixtyfootersdude 22.04.2010, 20:19
quelle

3 Antworten

11

ist egal. Stattdessen sollten Sie immer annehmen, dass der nachfolgende Schrägstrich nicht vorhanden ist, wenn Sie den Pfad verwenden, indem Sie Ihren eigenen hinzufügen. / foo // entspricht / foo / so funktioniert es.

    
frankc 22.04.2010, 20:24
quelle
3

Wenn Sie auf ein normal verwendetes Verzeichnis verweisen, fügen Sie den Schrägstrich nicht ein: Mein Heimatverzeichnis ist /home/andy , nicht /home/andy/ . Wenn Sie Skripte schreiben, die davon ausgehen, dass der nachgestellte Schrägstrich vorhanden ist, werden Sie früher oder später vergessen, sie einzuschließen und sich selbst zu überraschen.

Ich bin mir nicht sicher, ob ich Ihnen zustimme, dass der zusätzliche Schrägstrich "weniger sauber" erscheint. Wenn Sie keine Variablen verwenden, erwarten Sie einen Schrägstrich, um die Verzeichnis- und Dateinamen zu trennen. Wenn der Verzeichnisname in einer Shell-Variablen gespeichert wird, finde ich es immer noch normal, mit dem Schrägstrich zwischen den Teilen zu lesen und zu schreiben.

    
Andy Mortimer 22.04.2010 20:31
quelle
3

Wenn du an einer großen Monster-Anwendung mit 100 Skripten und vielen Bibliotheken und ausführbaren Dateien arbeitest, beginnst du dir mehr Sorgen darüber zu machen, was weniger Schmerzen verursacht als was "weniger sauber aussieht". Ich stimme zu, dass der Doppelstrich lustig aussieht, aber die Realität ist, dass es Unix egal ist. Ich würde eher annehmen, dass der abschließende Schrägstrich nicht da ist und weiß, dass es immer noch funktionieren wird, wenn ich selbst einen hinzufüge, als hoffe, dass jeder einen Code und dann meinen Code einfügt, wenn jemand anderes vergisst, den Schrägstrich hinzuzufügen.

Versetzen Sie sich in eine Situation, in der Sie kontrollieren können, ob Ihr Code funktioniert. Abhängig von anderen zu folgen, führt eine Konvention zu Kopfschmerzen und 3am Support-Anrufe, wenn sie es nicht unbedingt tun.

    
Kelly S. French 23.04.2010 13:55
quelle

Tags und Links