Score:0

จะใช้นาฬิกาเพื่อส่งคืนไฟล์รูปภาพล่าสุดและเปิดรูปภาพนั้นได้อย่างไร

ธง in

ฉันพยายามใช้คำสั่ง watch เพื่อดูไฟล์ล่าสุด กำลังแสดงไฟล์ แต่ฉันจะเปลี่ยนเป็นไฟล์ล่าสุดได้อย่างไร เมื่อสร้างไฟล์ที่ใหม่กว่า

ไฟล์เป็นรูปภาพ ดังนั้นฉันจึงเปิดด้วยโปรแกรมดูรูปภาพ

นี่คือสิ่งที่ฉันพยายาม

ชม -n 0.1 ls /home/titan/mnt

แต่มันใช้ไม่ได้เพราะฉันต้องการแค่ไฟล์เดียวและโดยพื้นฐานแล้วเป็นไฟล์ล่าสุดและเก็บชื่อไฟล์นั้นและเปิดด้วยโปรแกรมดูรูปภาพ

Raffa avatar
jp flag
ลอง `ls -tp /home/titan/mnt | grep -v / | หัว -1 | xargs -I {} eog /home/titan/mnt/{}` ... แต่ทำไมต้องใช้ `watch`
terdon avatar
cn flag
@Raffa ที่จะล้มเหลวแม้ชื่อไฟล์แปลก ๆ เล็กน้อย (ช่องว่างในชื่อ, บรรทัดใหม่, อักขระทรงกลม) แต่แม้ว่าจะไม่ใช่ปัญหา ทำไมต้อง `xargs` สิ่งที่คุณต้องการสำหรับแนวทางของคุณคือ `eog $(ls -tp /home/titan/mnt | grep -v / | head -1)`
Raffa avatar
jp flag
@terdon นั่นไม่เคยหมายถึงวิธีแก้ปัญหาและคุณพูดถูก ... มันจะล้มเหลวในบางจุด ... และใช่ การแทนที่คำสั่งสามารถทำงานได้เช่นเดียวกันหากคุณเพิ่มเครื่องหมายคำพูดรอบ ๆ สำหรับค่าเผื่อพื้นที่สีขาวและเพิ่มเส้นทาง ก่อนจึงจะสามารถเปิดไฟล์ได้ เช่น `eog /home/titan/mnt/"$(ls -tp /home/titan/mnt | grep -v / | head -1)"`
Score:2
ธง jp

ฉันไม่ชัดเจนว่าทำไมคุณถึงต้องการใช้ นาฬิกา สั่งการ.อีกด้วย ไม่ใช่ทางเลือกที่ดีที่สุดสำหรับที่นี่ด้วยเหตุผลหลายประการ

หากคุณต้องการเพียงแค่เฝ้าดูเมื่อมีการสร้างไฟล์ใหม่ /home/titan/mnt และเปิดไฟล์นั้นในโปรแกรมดูรูปภาพ จากนั้นติดตั้ง เครื่องมือ inotify เช่นนั้น:

sudo apt ติดตั้งเครื่องมือ inotify

และใช้ในสคริปต์ทุบตีดังนี้:

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

inotifywait -m "$path_to_directory" -e สร้าง |
ในขณะที่ IFS=' ' อ่านไฟล์การดำเนินการของพาธ
    ทำ
    # คุณสามารถใช้โปรแกรมดูรูปภาพอื่นนอกเหนือจาก eog ได้หากต้องการ
    eog "$path$file" &
    เสร็จแล้ว
answerSeeker avatar
in flag
ฉันลองใช้ innotify wait แต่น่าเสียดายที่ตรวจไม่พบการเปลี่ยนแปลง หากคุณทำ cp file.jpg ถึง ~/mnt มันจะไม่เห็น
Raffa avatar
jp flag
@answerSeeker ควรตรวจพบ ... คุณติดตั้ง `inotify-tools` ก่อน ... คุณเรียกใช้สคริปต์ได้อย่างไร คุณต้องบันทึกลงในไฟล์คัดลอก/วาง จากนั้นเรียกใช้ไฟล์ด้วย `bash filename` ... อาจเป็นไปได้ว่าคุณต้องเปลี่ยนแอปพลิเคชันโปรแกรมดูรูปภาพ ... หากต้องการดีบัก ให้เพิ่ม `echo "$path$file "` หนึ่งบรรทัดเหนือ `eog "$path$file" &` และดูว่าจะพิมพ์อะไรเมื่อคุณคัดลอกไฟล์ไปที่ `/home/titan/mnt/`
answerSeeker avatar
in flag
ใช่ มันใช้งานได้ถ้าฉันวางรูปภาพในนั้น แต่ถ้าแอปพลิเคชันอื่นแทรกรูปภาพ มันจะไม่ทำงาน
Raffa avatar
jp flag
@answerSeeker นั่นอาจเป็นปัญหาการอนุญาต ... ตรวจสอบว่าภาพที่แทรกโดยแอปพลิเคชันอื่นสามารถอ่านได้โดยผู้ใช้ที่รันสคริปต์

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา