Guten Tag,
ich bräuchte mal eure Hilfe :).
Ich möchte eine TXT-Datei in Perl erstellen, die mir dann Lokal auf den Raspi gespeichert wird.
Dafür habe ich eine 99_myuntis... erstellt und folgendem Code hingeschrieben:
package main;
use strict;
use warnings;
use POSIX;
sub
myUtils_Initialize($$)
{
my ($hash) = @_;}
# Enter you functions below _this_ line.
sub SvgToPng {
open(my $fh, ">/home/pi/output.txt") or die; my $i;
my $r;
for($i=0; $i<=3; $i++) {
$r = int(rand(10));
print "$r\n";
print $fh "$r\n";
}
close($fh);
}
1;
Wenn ich den Code abspeichern tue, wird mir keine Fehlermeldung angezeigt, aber auch wird keine TXT-Datei erstellt.
Was mache ich nur falsch?
Mit freundlichen Grüßen,
Testylon
Hat der User fhem in dem Ordner Rechte?
Gesendet von meinem S60 mit Tapatalk
Wie gebe ich den Fhem die Rechte für den besagten Ordner?
Gruß,
Testylon
Muss die Datei unbedingt unter /home/pi liegen!?
Es ist auf Linux-Systemen (aber auch anderen) so, dass es getrennte User-Verzeichnisse gibt, um eben ein (versehentliches) Schreiben (bzw. Zugriff) zwischen Usern zu vermeiden...
Also entweder die Dateirechte unter /home/pi "aufbohren" oder die Datei als User fhem mittels "sudo" schreiben (und besser nachher die User-Verhältnisse wieder "gerade rücken": sudo chown pi:pi PFAD/DATEINAME )...
"Aufbohren" widerspricht halt dem "Gedanken"...
Alternativ (siehe erste Frage): muss es genau dort sein!?
Gruß, Joachim
Danke für deine Antwort.
Ich habe gerade Fhem die benötigte Rechte gegeben (sudo chown pi:pi /Home/pi)
soweit hat es auch geklappt.
Nur will Fhem trotzdem nicht , die TXT-Datei erstellt.
Mit freundlichen Grüßen,
Testylon
Zitat von: Testylon am 16 November 2019, 10:28:37
Danke für deine Antwort.
Ich habe gerade Fhem die benötigte Rechte gegeben (sudo chown pi:pi /Home/pi)
soweit hat es auch geklappt.
Nur will Fhem trotzdem nicht , die TXT-Datei erstellt.
Mit freundlichen Grüßen,
Testylon
EDIT: und wenn du tatsächlich
Home statt
home geschrieben hast, hätte ein Fehler kommen MÜSSEN! Weil das Verzeichnis gibt es gar nicht! Zumindest bei mir nicht ;)
Bitte BEVOR du "einfach" irgendwelche Linux-Befehle einhackst erst mal LESEN WAS die machen!!
Und bitte auch ALLES lesen was Helfer schreiben!
EDIT: und auch GENAU lesen! Weil ich geschrieben hatte: sudo chown pi:pi /PFAD/DATEI und nicht "nur" /PFAD/ ! ABER NOCHMAL: DAS IST NICHT DIE LÖSUNG FÜR DEIN PROBLEM, DASS DER USER FHEM DORT SCHREIBEN DARF!!!
Also das Kommando (chown : change owner) sorgt NACH einem Kopieren mittels sudo (superuser do) dafür, dass der User pi (daher auch pi:pi) diese durch sudo angelegte Datei wieder nutzen kann bzw. er keine Dateien in "seinem" Verzeichnis liegen hat die NUR "root" bearbeiten kann/darf!
Andere Frage: was genau willst du denn erreichen? Warum muss die Datei (offenbar) genau DORT (/home/pi) liegen!?
EDIT: Nachtrag: wenn du dich zukünftig auf einem Linux-System bewegen willst (fhem läuft bei dir ja offenbar unter Linux), dann wäre es ratsam (fast Pflicht) sich damit auseinander zu setzen! Meine Meinung...
Gruß, Joachim
Zitat von: Testylon am 16 November 2019, 10:28:37
Danke für deine Antwort.
Gerne...
Zitat von: Testylon am 16 November 2019, 10:28:37
Ich habe gerade Fhem die benötigte Rechte gegeben (sudo chown pi:pi /Home/pi)
soweit hat es auch geklappt.
NEIN: damit hast du das gemaht was eigentlich schon immer war. Die Dateien im Verzeichnis /home/pi dem User pi "(zurück)gegeben"... Unnötig, weil normalerweise "gehören" die schon dem User pi. Es ist ja sein "Home-Verzeichnis". Daher kann der User fhem (unter dem fhem nun mal läuft) wie du gemerkt hast nicht "einfach so" schreiben...
Geklappt aber nur, wenn du home statt Home geschrieben hast... ;)
Zitat von: Testylon am 16 November 2019, 10:28:37
Nur will Fhem trotzdem nicht , die TXT-Datei erstellt.
KLAR! Siehe Erläuterung von zuvor...
Noch mal die Frage: WAS willst du erreichen (also Datei schreiben ist klar / aber wozu usw.)!? UND: muss die Datei GENAU DORT liegen!? Und wenn: WARUM!? (also was ist dann das Ziel!? ;) )EDIT: und bevor du dir dein System komplett "zerschießt" -> bitte besser (etwas) mit Linux beschäftigen... Nur gut gemeint...
Gruß, Joachim