• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Die Bildungsoffensive hier im Forum geht weiter! Jetzt sollen Kreativität und technische Möglichkeiten einen neue Dimension erreichen. Das Thema in diesem Monat lautet - Verkehrte Welt - Hier geht es lang --> Klick

shell-script für osx und linux scheitert an 'mktemp'

koksnutte

Ribston Pepping
Registriert
13.04.05
Beiträge
299
'mktemp' unter linux erstellt eine datei mit einem einzigartigen namen in /tmp
unter osx funktioniert das nicht, man muss um das gleiche ergebnis zu erhalten 'mktemp -t NAME' ausführen (die datei wird zwar in $TMPDIR erstellt, aber das ist ja egal).
das wiederum funktioniert unter linux nicht richtig, die datei wird zwar erstellt, erhält aber keinen einzigartigen namen... :angry:

gibts jetzt irgend einen trick um auf beiden systemen mit dem gleichen mktemp befehl eine einzigartige datei in einem temporären ordner zu erstellen oder muss ich dafür "pfuschen" und sowas in mein skript einbauen:
'mktemp -t TEST$RANDOM'
 
Der Befehl hat zwei große Varianten. Hast Du die erste mit den templates schon probiert?

Code:
mktemp [-d] [-q] [-t prefix] [-u] template ...
mktemp [-d] [-q] [-u] -t prefix
 
Wieso fragst Du im Script nicht erst die Betriebssystemversion ab und rufst dann per if/else Verzweigung mktemp mit den richtigen Optionen entsprechend dem aktuellen Betriebssystem auf?
 
Wieso fragst Du im Script nicht erst die Betriebssystemversion ab und rufst dann per if/else Verzweigung mktemp mit den richtigen Optionen entsprechend dem aktuellen Betriebssystem auf?
das hatte ich mir natürlich auch schon überlegt, nur wäre die methode für diesen zweck im vergleich zur vorher von mir geposteten möglichkeit (mktemp -t TEST$RANDOM) noch umständlicher.

hab das ganze übrigens so gelöst: mktemp -t test.XXXX
mktemp tauscht die X gegen zufällige zeichenfolgen.