0 Mitglieder und 1 Gast betrachten dieses Thema.
Ich hab' über die pid $! versucht da ran zu kommen, aber da stochere ich irgendwie mit der Stange im Nebel.
mount ...caja pfad/zum/ordner &wait $!umount ...
cli@mate ~ $ pidof caja10718cli@mate ~ $ caja Schreibtischcli@mate ~ $ pidof caja10718cli@mate ~ $
cli@mate ~ $ watched=$(wmctrl -l | awk '/Schreibtisch/ {print $1}')cli@mate ~ $ echo $watched0x01400c42cli@mate ~ $ wmctrl -l | grep $watched0x01400c42 0 mate Schreibtischcli@mate ~ $ while true; do if [ "x$(wmctrl -l | grep $watched)" = "x" ]; then echo "Fenster wurde geschlossen"; break; else echo "Fenster ist noch offen"; sleep 3; fi; doneFenster ist noch offenFenster ist noch offenFenster wurde geschlossencli@mate ~ $
Jaaaaa ,aber zum Lesen lernen nimmt man auch nicht gleich die Bibel zur Hand.Ein kleiner Hinweis eines Wissenden könnte mir helfen, die richtige Stelle in der Doku zu finden.Wenn der Hinweis aber daraus besteht, die man pages zu lesen, dann wäre dieses Forum komplett für die Katz.
#!/bin/bash# in eine eigene Datei loggen:Logdatei=~/user.logUS="User:$USER Skript:$0"#dieses Skript meldet den übergebenen Zweig am ReadyNAS Laufwerk an und öffnet einen caja-file-Manager, wartet auf das Ende von caja und meldet dann das ReadyNAS Laufwerk wieder abGesamtpfad=/mnt/willy/$1Zweig=$1echo Gesamtpfad \=$Gesamtpfadecho Zweig \=$Zweigecho $(date '+%d %b %Y %H:%M:%S') $US mount $Gesamtpfad >> ~/user.log 2>&1mount $Gesamtpfad >> ~/user.log 2>&1paplay /usr/share/sounds/purple/login.wavecho $(date '+%d %b %Y %H:%M:%S') $US caja $Gesamtpfad >> ~/user.log 2>&1caja $Gesamtpfad >> ~/user.log 2>&1while [ -z $watched ]do sleep 0.5 #watched=$(wmctrl -l | awk '/$Zweig/ {print $1}') #geht nicht #watched=$(wmctrl -l | awk '/ENVIRON["Zweig"]/ {print $1}') #geht nicht watched=$(wmctrl -l | awk '/Lesen/ {print $1}') #nur wenn ich den Zweig direkt reinschreibe, dann geht's echo watched \=$watcheddonewhile truedo if [ "x$(wmctrl -l | grep $watched)" = "x" ] then echo "Fenster wurde geschlossen" break; else echo "Fenster ist noch offen" sleep 5 fidoneecho $(date '+%d %b %Y %H:%M:%S') $US umount $Gesamtpfad >> ~/user.log 2>&1umount $Gesamtpfad >> ~/user.log 2>&1paplay /usr/share/sounds/purple/logout.wavexit 0
willy@willy-H81H3-EM2 ~ $ Lesen-AN-und-ABmelden LesenGesamtpfad =/mnt/willy/LesenZweig =Lesenwatched =watched =watched =0x01a0939aFenster ist noch offenFenster ist noch offenFenster ist noch offenFenster ist noch offenFenster wurde geschlossenwilly@willy-H81H3-EM2 ~ $
awk '/'"$Zweig"'/{print $1}'
… in der Fensterbezeichnung tragen (z.B. ein Texteditor-Fenster der die Datei "Lesen-an-und-abmelden.sh" geöffnet hat)
#!/bin/bash# in eine eigene Datei loggen:Logdatei=~/user.logUS="User:$USER Skript:$0"#dieses Skript meldet den übergebenen Zweig am ReadyNAS Laufwerk an und öffnet einen caja-file-Manager, wartet auf das Ende von caja und meldet dann das ReadyNAS Laufwerk wieder ab# 21.09.2018Gesamtpfad=/mnt/willy/$1Zweig=$1echo Gesamtpfad \=$Gesamtpfadecho Zweig \=$Zweig#Absichern, dass das Skript nicht schon läuft bzw. das Fenster nicht schon offen istwatched=$(wmctrl -l | awk '$4 == "'$Zweig'" {print $1}') #bei direktem String-Vergleich gilt die exakte Übereinstimmungecho watched \=$watchedif [ $watched ]then echo "Das Fenster \""$Zweig"\" ist bereits geöffnet. Das Skript wird abgebrochen!" paplay /usr/share/sounds/purple/alert.wav exit 0fiecho $(date '+%d %b %Y %H:%M:%S') $US mount $Gesamtpfad >> ~/user.log 2>&1mount $Gesamtpfad >> ~/user.log 2>&1paplay /usr/share/sounds/purple/login.wavecho $(date '+%d %b %Y %H:%M:%S') $US caja $Gesamtpfad >> ~/user.log 2>&1caja $Gesamtpfad >> ~/user.log 2>&1while [ -z $watched ]do sleep 0.5 watched=$(wmctrl -l | awk '$4 == "'$Zweig'" {print $1}') #bei direktem String-Vergleich gilt die exakte Übereinstimmung echo watched \=$watcheddonewhile truedo if [ "x$(wmctrl -l | grep $watched)" = "x" ] then echo "Fenster wurde geschlossen" break; else echo "Fenster ist noch offen" sleep 5 fidoneecho $(date '+%d %b %Y %H:%M:%S') $US umount $Gesamtpfad >> ~/user.log 2>&1umount $Gesamtpfad >> ~/user.log 2>&1paplay /usr/share/sounds/purple/logout.wavexit 0