Рейтинг:0

Как использовать часы, чтобы вернуть последний файл изображения и открыть это изображение?

флаг in

Я пытаюсь использовать команду watch, чтобы увидеть последний файл. Он показывает файл, но как мне переключиться на последний файл, когда создается еще более новый файл?

Файлы являются изображениями, поэтому я открываю их с помощью средства просмотра изображений.

вот что я пробовал

часы -n 0.1 лс /home/titan/mnt

но это не работает, потому что мне просто нужен один файл и, в основном, самый последний файл, сохранить это имя файла и открыть его с помощью средства просмотра изображений.

Raffa avatar
флаг jp
Попробуйте `ls -tp /home/titan/mnt | grep -v / | голова -1 | xargs -I {} eog /home/titan/mnt/{}` ... Но зачем использовать `watch`?
terdon avatar
флаг cn
@Raffa, который не сработает даже для слегка странных имен файлов (пробелы в имени, новые строки, символы подстановки), но даже если это не проблема, почему `xargs`? Все, что вам нужно с вашим подходом, это `eog $(ls -tp /home/titan/mnt | grep -v / | head -1)`.
Raffa avatar
флаг jp
@terdon Это никогда не предназначалось для решения, и вы правы ... в какой-то момент это приведет к сбою ... и да, подстановка команд может выполнять ту же работу, если вы добавите кавычки вокруг нее для некоторого допуска пробелов и добавите путь перед этим, чтобы файл можно было открыть, например, `eog /home/titan/mnt/"$(ls -tp /home/titan/mnt | grep -v / | head -1)"`.
Рейтинг:2
флаг jp

Мне непонятно, почему вы хотите использовать смотреть команда.Также лс здесь не лучший выбор по многим причинам.

Если все, что вам нужно, это следить за созданием нового файла в /дом/титан/мнт и откройте этот файл в средстве просмотра изображений, затем установите inotify-инструменты вот так:

sudo apt установить инструменты inotify

и используйте его в сценарии bash следующим образом:

#!/бин/баш
path_to_directory="/home/titan/mnt/"

inotifywait -m "$path_to_directory" -e создать |
в то время как IFS=' 'прочитать файл действия пути
    делать
    # Вы можете использовать другие просмотрщики изображений, кроме eog, если хотите
    eog "$path$file" &
    сделано
answerSeeker avatar
флаг in
Я пытался с ожиданием inotify, но, к сожалению, он не обнаруживает изменений. Если вы сделаете cp file.jpg в ~/mnt, он этого не заметит.
Raffa avatar
флаг jp
@answerSeeker Он должен обнаружить это ... Вы сначала установили `inotify-tools` ... Как вы запустили скрипт? Вам нужно сохранить его в файл, скопировать/вставить, а затем запустить файл с именем `bash filename`... Возможно, вам нужно изменить приложение для просмотра изображений... Для отладки добавьте `echo "$path$file "` на одну строку выше `eog "$path$file" &` и посмотрите, что будет напечатано, когда вы скопируете файл в `/home/titan/mnt/`
answerSeeker avatar
флаг in
Да, это работает, если я вставляю туда изображение, но если другое приложение вставляет изображение, оно не работает.
Raffa avatar
флаг jp
@answerSeeker Это может быть проблема с разрешением ... убедитесь, что изображение, вставленное другим приложением, доступно для чтения пользователю, выполняющему скрипт.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.