существует, вероятно, более простой способ сделать это, но я выполнил ls на/media/user каталоге без включенного устройства хранения данных usb и сохранил вывод в файл, и я хотел использовать разность, чтобы сравнить файл с новым включенным usb и сравнить файл с/media/user каталогом так, чтобы это обнаружило новый каталог в / медиа от usb
Я использовал до сих пор
ls > usbmedia.diff
diff /home/user/desktop/scripts/usbmedia.diff /media/user/
вывод, который я получаю, no /media/user/usbmedia.diff
файл, таким образом, это ищет файл того же имени, но как я заставляю различную команду не делать это и сравнивать каталог с файлом
Вы почти правы.
/tmp
лучшая практика:
#!/bin/bash
while: # Go forever.
ls /media/<USERNAME>/ > /tmp/media.diff
sleep 10
ls /media/<USERNAME>/ > /tmp/mediacompare.diff
diff /tmp/media.diff /tmp/mediacompare.diff
done
Вы могли сделать это:
$ ls /media/user/ > /home/user/desktop/scripts/usbmedia.diff
Тогда включают Ваше устройство
$ diff /home/user/desktop/scripts/usbmedia.diff <(ls /media/user/)
< () это называют замена процесса
, Вы могли считать [приблизительно 1 111] замену процесса <()
здесь и здесь