Korrekter Code - double quote

Status
Für weitere Antworten geschlossen.

PsychoHH

Benutzer
Mitglied seit
03. Jul 2013
Beiträge
2.967
Punkte für Reaktionen
4
Punkte
78
Hallo,

ich habe mal eine Frage z.B. habe ich folgenden Scriptteil und will dies in einer Variable nutzen.
Jetzt weiß ich aber halt nicht 100% welcher Code der korrekteste ist. bzw. keine Probleme bereiten kann.

Rich (BBCode):
scriptfile=${0##*/}
scriptname=${scriptfile%.*}
date=`date +%Y-%m-%d_%Hh%M`
dir=$(dirname "$0" | sed 's/\/\//\//g')


log=("$dir"/@Logfiles/"$date"_"$scriptname".log)    
log=""$dir"/@Logfiles/"$date"_"$scriptname".log"
log="$dir/@Logfiles/"$date"_$scriptname.log"


Alle 3 Funktionieren, theoretisch wäre ja die letzte Möglichkeit am Einfachsten, meine Frage ist allerdings, kann es bei mehreren double qoutes bei einer Variable nicht zu Problemen kommen?

Evtl. auch mit einer ganz kurzen Erklärung.

Vielen Dank !
 

PsychoHH

Benutzer
Mitglied seit
03. Jul 2013
Beiträge
2.967
Punkte für Reaktionen
4
Punkte
78
Damit der Thread nicht ganz das zeitliche segnet pushe ich ihn mal ;)
 

ruedi61

Gesperrt
Mitglied seit
01. Apr 2016
Beiträge
72
Punkte für Reaktionen
0
Punkte
6
Ich persönlich würde mit geschweiften Klammern arbeiten, wenn ich nicht sicher bin, was die Variablen genau enthalten. So kann die Variable nicht ausbrechen.

Rich (BBCode):
log="${dir}/@Logfiles/${date}_${scriptname}.log"
 

PsychoHH

Benutzer
Mitglied seit
03. Jul 2013
Beiträge
2.967
Punkte für Reaktionen
4
Punkte
78
Danke für deine Antwort.

Ach stimmt da war ja was, dann kann ich die Variable ja dann auch direkt erweitern.
log="$
{dir}jenes"
 

ruedi61

Gesperrt
Mitglied seit
01. Apr 2016
Beiträge
72
Punkte für Reaktionen
0
Punkte
6
Kein Problem.
Kannst du mir erklären wieso man Ornder mit einem @ am Anfang erstellt?
Diese Frage habe ich seit ich das erste mal per SSH auf "/volume1/@appstore" zugegriffen habe. Und du erstellst ja oben auch so einen @Logfiles Ordner. Hat das einen bestimmten zweck?
 

PsychoHH

Benutzer
Mitglied seit
03. Jul 2013
Beiträge
2.967
Punkte für Reaktionen
4
Punkte
78
Klar.

Synology selbst nutzt ja selbst die Ordner @appstore @eaDir..

Tommes hat beim RSYNC Script mal mit einem @ vor Logfiles uns Recycle angefangen. Wenn ich mich nicht täuschen war es gedacht, sodass die Ordner immer ganz oben sind.
Da es keine Probleme gab haben wir es dabei belassen.
 

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
29.897
Punkte für Reaktionen
1.177
Punkte
754
Soweit ich weiß werden diese Verzeichnisse beispielsweise in der FileStation verborgen (hidden), weil es Systemverzeichnisse sind. Das @ hat für Synology also den Charakter des führenden Punkts unter Unix.
 

PsychoHH

Benutzer
Mitglied seit
03. Jul 2013
Beiträge
2.967
Punkte für Reaktionen
4
Punkte
78
Ja der Meinung war ich früher auch, irgendwie auch korrekt.

Aber erstellt mal einen Ordner mit einem @, der ist in der FS sichtbar :rolleyes:

Frag mich nicht warum aber die von Synology angelegten @ Ordner müssen noch zusätzlich anders versteckt sein
 

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
29.897
Punkte für Reaktionen
1.177
Punkte
754
Ah, interessant und gut zu wissen.
 

PsychoHH

Benutzer
Mitglied seit
03. Jul 2013
Beiträge
2.967
Punkte für Reaktionen
4
Punkte
78
Wenn ich jetzt so überlege ist es eventuell auch so, dass sie bestimmte Muster filtern. #recycle wird ja auch anders dargestellt wenn ich dran denke.
 

ruedi61

Gesperrt
Mitglied seit
01. Apr 2016
Beiträge
72
Punkte für Reaktionen
0
Punkte
6
Danke für die Aufklärung. Dann scheint es doch sinnvolle Gründe zu geben :)

Ich hatte mich Anfangs nämlich immer schwer getan mit Putty und Pfade mit @, da ich diese nicht mit einem doppelklick kopieren konnte, bezw beim @ abgetrennt wurde.
Nachher fand ich aber die passende Einstellung im Putty Config. Einfach das @ auf 2 und gut ist...

putty.png


Das noch so am Rande, vielleicht hilfts noch anderen...
 

PsychoHH

Benutzer
Mitglied seit
03. Jul 2013
Beiträge
2.967
Punkte für Reaktionen
4
Punkte
78
Fast alles was wir machen hat einen Sinn haha.
Aber nein war ja auch eine gute Berechtigte Frage.

Gut das du es mit putty gelöst hast. Ich benutzt am Mac immer nur das "dumme" Terminal. Aber hey will mich ja nicht beschweren :)
 

Tommes

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
26. Okt 2009
Beiträge
9.151
Punkte für Reaktionen
1.115
Punkte
314
Fast alles was wir machen hat einen Sinn haha.

Aber halt nur fast *g*

Und bezüglich des @-Zeichens im Ordnernamen ist es tatsächlich so, das ich es bei Ultimate Backup aus dem Grund verwendet habe damit unsere "Systemordner" @Logfiles, @Recycle und @DSMConfig immer am Anfang der Ordnerhierarchie stehen. Ich hab das sonst immer mit #_ gehandhabt, fand das @-Zeichen dann aber irgendwie sympathischer *gg*

Tommes
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat