Skript nemůže vytvořit neexistující soubor

Hamparle

  • ***
  • 186
  • junior developer ucho
    • Zobrazit profil
    • E-mail
Skript nemůže vytvořit neexistující soubor
« kdy: 03. 11. 2020, 00:31:00 »
Když příkazem >(>) píšu do souboru a soubor neexistuje, tak to nevadí, ale když jsem měl ve skriptu příkaz  např uname >> neexistuje.txt,
 tak vyhodí
cannot create ~/test.txt: Directory nonexistent


čím je rozdíl způsoben? nějakou proměnnou nebo detektcí, zda příkaz běží uvnitř skriptu nebo je zadán interaktivně nebo nějaké volby shellu? či samotný shell (sh vs.bash)
« Poslední změna: 03. 11. 2020, 08:46:23 od Petr Krčmář »


Re:>> : cannot create soubor: Directory nonexistent
« Odpověď #1 kdy: 03. 11. 2020, 00:57:23 »
Co máte na prvním řádku skriptu?

tecka

Re:>> : cannot create soubor: Directory nonexistent
« Odpověď #2 kdy: 03. 11. 2020, 01:07:43 »
Neexistující soubor se vytvoří, ale adresář musí existovat. ~ znamená domovský adresář a možná ti ten skript běží pod uživatelem, jehož domovský adresář opravdu neexistuje, nebo jsi to napsal způsobem, že se ~ bere doslova a nenahradí se odpovídající cestou.

Proč ti přesměrování do neexistuje.txt hlásí problém s test.txt asi bez křišťálové koule nevykoumáme.

k3dAR

  • *****
  • 1 711
  • porad nemam telo, ale uz mam hlavu... nobody
    • Zobrazit profil
    • E-mail
Re:>> : cannot create soubor: Directory nonexistent
« Odpověď #3 kdy: 03. 11. 2020, 01:35:49 »
dej si do skriptu pred ten radek tento:
Kód: [Vybrat]
echo ~ >/tmp/co_ted_vidim_jako_vlnovku.txt
a zjistis konkretne, co z toho co uz bylo receno mas za problem...

Re:>> : cannot create soubor: Directory nonexistent
« Odpověď #4 kdy: 03. 11. 2020, 08:18:32 »
Proč ti přesměrování do neexistuje.txt hlásí problém s test.txt asi bez křišťálové koule nevykoumáme.

Lidé, když píší na fóra často buď mění názvy souborů nebo tam zadají vstup a výstup z hlavy.


Kit

  • *****
  • 523
    • Zobrazit profil
    • E-mail
Re:>> : cannot create soubor: Directory nonexistent
« Odpověď #5 kdy: 03. 11. 2020, 08:26:38 »
Kód: [Vybrat]
uname >> "$HOME/test.txt"