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

[gelöst] Datei erstellen

Escho

Advanced Hacker
Ich habe folgendes (fiktives) Verzeichnis:
Code:
~/test/fiktiv
In diesem Verzeichnis befinde ich mich gerade, möchte aber von hier aus per Script eine Datei im übergeordneten Verzeichnis test erstellen:
Code:
touch ../neue_datei
Ist dieser Verweis an das übergeordnete Verzeichnis durch die zwei Punkte ( .. ) gängige Programmierpraxis oder wird sowas in der Regel anders gelöst?

Edgar
 
A

Anonymous

Gast
Escho schrieb:
Code:
touch ../neue_datei
Ist dieser Verweis an das übergeordnete Verzeichnis durch die zwei Punkte ( .. ) gängige Programmierpraxis oder wird sowas in der Regel anders gelöst?

Relative Adressierung ist vollkommen normale Praxis solange man sicher sein kann, oder sicher stellen kann, das man dabei noch den Überlick beim Programmieren behält und der Enduser da nicht durch irgenwelche Eingriffe die Ordnung im Filesystem umstellen kann. Ein Script oder Programm soll ja schließich auf jedem anderen Rechner auch sauber laufen, auch wenn die Verzeichnisse und Path dort anders lauten.

Die andere Möglichkeit die genommen wird ist eine Adressierung über Variablen. Es werden je nach dem bestimmte wichtige aktuelle Verzeichnisnamen während der Laufzeit des Programmes abgefragt und in Variable abgelegt. benutzt wird das dann zB so hier
Code:
cp "${DATENDIR}/${DATENDATEI}"  "${BACKUPDIR}/new"
touch "${LOCALDIR}/$$.lock"
und macht ein Script nicht gerade leichter lesbar.


Wenn du dir sicher bist, das das immer in das übergeordnete Verzeichnis soll und muss und du dort auch die notwendigen Rechte hast, dann ist "../" immer eine gute Wahl. Dabei musst du aber voerher immer dafür sorgen das das Arbeitsverzeichnis vorher genau festgelegt ist, und nicht etwa dort ist wo der User das Script gestartet hat.


robi
 
OP
Escho

Escho

Advanced Hacker
Danke für die Erläuterungen, robi. Ich habe mich in meinem Script nun doch von der relativer Adressierung verabschiedet und die Sache mit Hilfe von Variablen gelöst. Ist doch flexibler so, hab ich gemerkt.

Edgar
 
Oben