kann mktemp Dateinamen mit Leerzeichen generieren?
Hi, ein script von mir nutzt mktemp (im konkreten Falle auf OS 13.1) zur Namenserzeugung. Bislang dachte ich, dass mktemp-Namen nur aus Ziffern und A-Z, a-z bestehen. Ein Fehler bei der Anwendung deutete auf einen Namen mit Leerzeichen hin. Kann aber eigentlich nicht sein, oder? Die manpages sagen das nicht so konkret, es wird mehr so als gegeben vorausgesetzt... cu jth -- Joerg Thuemmler -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Am 04.10.2018 um 13:46 schrieb Joerg Thuemmler:
Hi,
ein script von mir nutzt mktemp (im konkreten Falle auf OS 13.1) zur Namenserzeugung. Bislang dachte ich, dass mktemp-Namen nur aus Ziffern und A-Z, a-z bestehen. Ein Fehler bei der Anwendung deutete auf einen Namen mit Leerzeichen hin. Kann aber eigentlich nicht sein, oder? Die manpages sagen das nicht so konkret, es wird mehr so als gegeben vorausgesetzt... Kann ich mir auch nicht vorstellen, dass da Leerzeichen im mktemp entstehen. Würde eher einen Fehler im Skript vermuten
Gruß Manfred -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Am Do., 4. Okt. 2018 um 13:47 Uhr schrieb Joerg Thuemmler <listen@vordruckleitverlag.de>:
ein script von mir nutzt mktemp (im konkreten Falle auf OS 13.1) zur Namenserzeugung. Bislang dachte ich, dass mktemp-Namen nur aus Ziffern und A-Z, a-z bestehen. Ein Fehler bei der Anwendung deutete auf einen Namen mit Leerzeichen hin. Kann aber eigentlich nicht sein, oder? Die manpages sagen das nicht so konkret, es wird mehr so als gegeben vorausgesetzt...
Nein. info coreutils 'mktemp invocation' "If omitted, the template `tmp.XXXXXXXXXX' is used, and option `--tmpdir' is implied. The final run of `X's in the TEMPLATE will be replaced by alpha-numeric characters;" Gruß Martin -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
DOCH!! Kann man freilich. Probier das: mktemp -u -t "Mein Leerzeichen Temp File "XXXXX.tmp (-u == tut nix, gibt nur Namen aus) (-t == statt in /tmp zu schreiben, das folgende Namensschema als relativen Pfadnamen nehmen) Shellscripting braucht gutes Quoting. Gruß Kalle Am 04.10.18 um 14:49 schrieb Martin Schröder:
Am Do., 4. Okt. 2018 um 13:47 Uhr schrieb Joerg Thuemmler <listen@vordruckleitverlag.de>:
ein script von mir nutzt mktemp (im konkreten Falle auf OS 13.1) zur Namenserzeugung. Bislang dachte ich, dass mktemp-Namen nur aus Ziffern und A-Z, a-z bestehen. Ein Fehler bei der Anwendung deutete auf einen Namen mit Leerzeichen hin. Kann aber eigentlich nicht sein, oder? Die manpages sagen das nicht so konkret, es wird mehr so als gegeben vorausgesetzt... Nein.
info coreutils 'mktemp invocation'
"If omitted, the template `tmp.XXXXXXXXXX' is used, and option `--tmpdir' is implied. The final run of `X's in the TEMPLATE will be replaced by alpha-numeric characters;"
Gruß Martin
-- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Am 04.10.2018 um 16:10 schrieb Karl Thomas Schmidt:
DOCH!! Kann man freilich. Probier das:
mktemp -u -t "Mein Leerzeichen Temp File "XXXXX.tmp
(-u == tut nix, gibt nur Namen aus) (-t == statt in /tmp zu schreiben, das folgende Namensschema als relativen Pfadnamen nehmen)
Shellscripting braucht gutes Quoting.
Gruß Kalle
Am 04.10.18 um 14:49 schrieb Martin Schröder:
Am Do., 4. Okt. 2018 um 13:47 Uhr schrieb Joerg Thuemmler <listen@vordruckleitverlag.de>:
ein script von mir nutzt mktemp (im konkreten Falle auf OS 13.1) zur Namenserzeugung. Bislang dachte ich, dass mktemp-Namen nur aus Ziffern und A-Z, a-z bestehen. Ein Fehler bei der Anwendung deutete auf einen Namen mit Leerzeichen hin. Kann aber eigentlich nicht sein, oder? Die manpages sagen das nicht so konkret, es wird mehr so als gegeben vorausgesetzt... Nein.
info coreutils 'mktemp invocation'
"If omitted, the template `tmp.XXXXXXXXXX' is used, and option `--tmpdir' is implied. The final run of `X's in the TEMPLATE will be replaced by alpha-numeric characters;"
Gruß Martin
Danke, das war auch meine Meinung, war nur etwas ins Wanken geraten... hat halt jemand schlicht den Namen - vielleicht aus Versehen - modifiziert und ein Leerzeichen reingeschmuggelt. Werde das eben abprüfen lassen. Quoten ist in diesem Zusammenhang keine Option, sonst immer gern ;-) cu jth -- Joerg Thuemmler -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Hallo, Am Thu, 04 Oct 2018, Joerg Thuemmler schrieb:
ein script von mir nutzt mktemp (im konkreten Falle auf OS 13.1) zur Namenserzeugung. Bislang dachte ich, dass mktemp-Namen nur aus Ziffern und A-Z, a-z bestehen. Ein Fehler bei der Anwendung deutete auf einen Namen mit Leerzeichen hin. Kann aber eigentlich nicht sein, oder? Die manpages sagen das nicht so konkret, es wird mehr so als gegeben vorausgesetzt...
==== coreutils-8.30/lib/tempname.c ==== static const char letters[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; int try_tempname_len (char *tmpl, int suffixlen, void *args, int (*tryfunc) (char *, void *), size_t x_suffix_len) { XXXXXX[i] = letters[ /* ... ]; ==== Also ich seh da in letters kein Leerzeichen... Also "Nein". -dnh -- printk("%s: huh ? Who issued this format command ?\n") linux-2.6.6/drivers/block/ps2esdi.c -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Am 04.10.2018 um 14:54 schrieb David Haller:
Hallo,
Am Thu, 04 Oct 2018, Joerg Thuemmler schrieb:
ein script von mir nutzt mktemp (im konkreten Falle auf OS 13.1) zur Namenserzeugung. Bislang dachte ich, dass mktemp-Namen nur aus Ziffern und A-Z, a-z bestehen. Ein Fehler bei der Anwendung deutete auf einen Namen mit Leerzeichen hin. Kann aber eigentlich nicht sein, oder? Die manpages sagen das nicht so konkret, es wird mehr so als gegeben vorausgesetzt...
==== coreutils-8.30/lib/tempname.c ==== static const char letters[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; int try_tempname_len (char *tmpl, int suffixlen, void *args, int (*tryfunc) (char *, void *), size_t x_suffix_len) { XXXXXX[i] = letters[ /* ... ]; ====
Also ich seh da in letters kein Leerzeichen... Also "Nein".
-dnh
Hi und Danke, das ist dann die abschließende Antwort! mir kams ja auch unwahrscheinlich vor cu jth -- Joerg Thuemmler -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Am Do., 4. Okt. 2018 um 17:45 Uhr schrieb David Haller <dnh@opensuse.org>:
Also ich seh da in letters kein Leerzeichen... Also "Nein".
Wenn man die Frage im Subject nimmt: Doch.
mktemp "foo bar XXXX" foo bar xvGK
Gruß Martin -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Am 05.10.2018 um 11:37 schrieb Martin Schröder:
Am Do., 4. Okt. 2018 um 17:45 Uhr schrieb David Haller <dnh@opensuse.org>:
Also ich seh da in letters kein Leerzeichen... Also "Nein".
Wenn man die Frage im Subject nimmt: Doch.
mktemp "foo bar XXXX" foo bar xvGK
Gruß Martin
OK, das "vorsätzliche" Einfügen von Leerzeichen mal ausgenommen ;-) Danke cu -- Joerg Thuemmler -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
participants (5)
-
David Haller
-
Joerg Thuemmler
-
Karl Thomas Schmidt
-
Manfred Kreisl
-
Martin Schröder