Puncte:0

Cum să folosești ceasul pentru a returna cel mai recent fișier imagine și a deschide imaginea respectivă?

drapel in

Încerc să folosesc comanda watch pentru a vedea cel mai recent fișier. Afișează fișierul, dar cum trec la cel mai recent când este creat un fișier și mai nou?

Fișierele sunt imagini, așa că le deschid cu un vizualizator de imagini

iată ce am încercat

ceas -n 0,1 ls /home/titan/mnt

dar nu funcționează pentru că am nevoie doar de un fișier și practic de cel mai recent fișier și să stochez acel nume de fișier și să-l deschid cu un vizualizator de imagini.

Raffa avatar
drapel jp
Încercați `ls -tp /home/titan/mnt | grep -v / | cap -1 | xargs -I {} eog /home/titan/mnt/{}` ... Dar de ce să folosiți `watch`?
terdon avatar
drapel cn
@Raffa care va eșua chiar și pentru nume de fișiere ușor ușoare (spații în nume, linii noi, caractere glob) dar chiar dacă nu aceasta este problema, de ce `xargs`? Tot ce vrei cu abordarea ta este `eog $(ls -tp /home/titan/mnt | grep -v / | head -1)`.
Raffa avatar
drapel jp
@terdon Aceasta nu a fost niciodată menită să fie o soluție și aveți dreptate... va eșua la un moment dat... și da, înlocuirea comenzii poate face aceeași treabă dacă adăugați ghilimele în jurul ei pentru o toleranță la spațiul alb și adăugați calea înainte de acesta, astfel încât fișierul să poată fi deschis, adică `eog /home/titan/mnt/"$(ls -tp /home/titan/mnt | grep -v / | head -1)"`.
Puncte:2
drapel jp

Nu îmi este clar de ce vrei să folosești ceas comanda.De asemenea ls nu este cea mai bună alegere aici din multe motive.

Dacă tot ceea ce doriți este să urmăriți când este creat un fișier nou în /home/titan/mnt și deschideți acel fișier într-un vizualizator de imagini, apoi instalați inotify-instrumente ca astfel:

sudo apt install inotify-tools

și folosiți-l într-un script bash astfel:

#!/bin/bash
path_to_directory="/home/titan/mnt/"

inotifywait -m „$calea_la_director” -e creați |
în timp ce IFS=' ' citește fișierul de acțiune cale
    do
    # Puteți utiliza alte vizualizatoare de imagini decât eog dacă doriți
    eog "$cale$fișier" &
    Terminat
answerSeeker avatar
drapel in
Am încercat cu inotify wait dar, din păcate, nu detectează modificări. Dacă faceți un cp file.jpg la ~/mnt, nu îl va observa
Raffa avatar
drapel jp
@answerSeeker Ar trebui să-l detecteze... Ai instalat mai întâi `inotify-tools`... Cum ai rulat scriptul? Trebuie să îl salvați într-un fișier copy/paste și apoi să rulați fișierul cu `bash filename`... S-ar putea să fie nevoie să schimbați aplicația de vizualizare a imaginilor... Pentru a depana, adăugați `echo "$path$file "` o linie deasupra `eog "$path$file" &` și vedeți ce este tipărit când copiați un fișier în `/home/titan/mnt/`
answerSeeker avatar
drapel in
Da, funcționează dacă lipesc o imagine acolo, dar dacă o altă aplicație inserează o imagine, nu funcționează.
Raffa avatar
drapel jp
@answerSeeker Aceasta ar putea fi o problemă de permisiune... verificați dacă imaginea introdusă de cealaltă aplicație este citibilă de către utilizatorul care execută scriptul.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.