簡體   English   中英

Bash 創建符號鏈接的腳本是在我的變量中添加characters._來創建符號鏈接

[英]Bash script to create a symlink is adding the characters ._ in my variable to create a symlink

我正在使用下面的 bash 腳本隨機選擇一個 .mp4 文件並將其符號鏈接到應用程序(Plex)可以讀取的另一個文件夾。 問題是似乎(隨機)在變量 $FILE 中添加了一個“._”,然后在符號鏈接中使用。 有任何想法嗎?

腳本

#/bin/sh
rm -f /media/PATH_TO_PREROLL_THAT_PLEX_CAN_READ/preroll.mp4
find /media/joshua/Media/PlexPrerolls/ -maxdepth 1 -not -type d | sort -R | tail -1 | while read FILE; do
ln -s "$FILE" /media/PATH_TO_PREROLL_THAT_PLEX_CAN_READ/preroll.mp4 ;
done

符號鏈接檢查

只需查看每 4 行的末尾。 請參閱._PlexStrangerThingsPreroll.mp4然后._PlexSnowPreroll.mp4再次._Plex preroll 6F.mp4

._ 不應出現在那里。

lrwxrwxrwx 1 root root 64 Apr 10 13:19 preroll.mp4 -> /media/joshua/Media/PlexPrerolls/._PlexStrangerThingsPreroll.mp4
root@wyss-server:/media/PATH_TO_PREROLL_THAT_PLEX_CAN_READ# ls -lh
total 0
lrwxrwxrwx 1 root root 54 Apr 10 13:23 preroll.mp4 -> /media/joshua/Media/PlexPrerolls/._PlexSnowPreroll.mp4
root@wyss-server:/media/PATH_TO_PREROLL_THAT_PLEX_CAN_READ# ls -lh
total 0
lrwxrwxrwx 1 root root 52 Apr 10 13:24 preroll.mp4 -> '/media/joshua/Media/PlexPrerolls/Plex preroll 8F.mp4'
root@wyss-server:/media/PATH_TO_PREROLL_THAT_PLEX_CAN_READ# ls -lh
total 4.0K
lrwxrwxrwx 1 root root 66 Apr 10 13:24 preroll.mp4 -> '/media/joshua/Media/PlexPrerolls/Plex Preroll-Fallout4-1080-12.mp4'
root@wyss-server:/media/PATH_TO_PREROLL_THAT_PLEX_CAN_READ# ls -lh
total 0
lrwxrwxrwx 1 root root 52 Apr 10 13:25 preroll.mp4 -> '/media/joshua/Media/PlexPrerolls/Plex preroll 6F.mp4'
root@wyss-server:/media/PATH_TO_PREROLL_THAT_PLEX_CAN_READ# ls -lh
total 4.0K
lrwxrwxrwx 1 root root 63 Apr 10 13:25 preroll.mp4 -> '/media/joshua/Media/PlexPrerolls/Plex Preroll energy reveal.mp4'
root@wyss-server:/media/PATH_TO_PREROLL_THAT_PLEX_CAN_READ# ls -lh
total 4.0K
lrwxrwxrwx 1 root root 62 Apr 10 13:26 preroll.mp4 -> /media/joshua/Media/PlexPrerolls/PlexStrangerThingsPreroll.mp4
root@wyss-server:/media/PATH_TO_PREROLL_THAT_PLEX_CAN_READ# ls -lh
total 0
lrwxrwxrwx 1 root root 54 Apr 10 13:27 preroll.mp4 -> /media/joshua/Media/PlexPrerolls/._PlexFirePreroll.mp4
root@wyss-server:/media/PATH_TO_PREROLL_THAT_PLEX_CAN_READ# ls -lh
total 0
lrwxrwxrwx 1 root root 54 Apr 10 13:27 preroll.mp4 -> '/media/joshua/Media/PlexPrerolls/._Plex preroll 6F.mp4'
root@wyss-server:/media/PATH_TO_PREROLL_THAT_PLEX_CAN_READ# ls -lh
total 0
lrwxrwxrwx 1 root root 55 Apr 10 13:28 preroll.mp4 -> '/media/joshua/Media/PlexPrerolls/._Plex preroll 13E.mp4'
root@wyss-server:/media/PATH_TO_PREROLL_THAT_PLEX_CAN_READ# ls -lh
total 4.0K
lrwxrwxrwx 1 root root 63 Apr 10 13:28 preroll.mp4 -> '/media/joshua/Media/PlexPrerolls/Plex Preroll energy reveal.mp4'
root@wyss-server:/media/PATH_TO_PREROLL_THAT_PLEX_CAN_READ# ls -lh
total 4.0K
lrwxrwxrwx 1 root root 63 Apr 10 13:28 preroll.mp4 -> '/media/joshua/Media/PlexPrerolls/Plex Preroll energy reveal.mp4'
root@wyss-server:/media/PATH_TO_PREROLL_THAT_PLEX_CAN_READ# ls -lh
total 4.0K
lrwxrwxrwx 1 root root 68 Apr 10 13:46 preroll.mp4 -> '/media/joshua/Media/PlexPrerolls/._Plex Preroll-Fallout4-1080-12.mp4'
root@wyss-server:/media/PATH_TO_PREROLL_THAT_PLEX_CAN_READ# ls -lh
total 0
lrwxrwxrwx 1 root root 54 Apr 10 13:50 preroll.mp4 -> '/media/joshua/Media/PlexPrerolls/._Plex preroll 6F.mp4'
root@wyss-server:/media/PATH_TO_PREROLL_THAT_PLEX_CAN_READ# ls -lh
total 4.0K
lrwxrwxrwx 1 root root 68 Apr 10 13:50 preroll.mp4 -> '/media/joshua/Media/PlexPrerolls/._Plex Preroll-Fallout4-1080-12.mp4'
root@wyss-server:/media/PATH_TO_PREROLL_THAT_PLEX_CAN_READ# ls -lh
total 4.0K
lrwxrwxrwx 1 root root 68 Apr 10 13:50 preroll.mp4 -> '/media/joshua/Media/PlexPrerolls/._Plex Preroll-Fallout4-1080-12.mp4'
root@wyss-server:/media/PATH_TO_PREROLL_THAT_PLEX_CAN_READ# ls -lh
total 0
lrwxrwxrwx 1 root root 52 Apr 10 13:50 preroll.mp4 -> '/media/joshua/Media/PlexPrerolls/Plex preroll 8E.mp4'

我正在使用 ubuntu 18

謝謝@JNevill,你是對的。 這些文件來自 MacOS 到 Ubuntu。 我沒有意識到 MacOS 會創建這些隱藏文件。 每當我在目錄中列出ls文件時,它們都不會顯示。

當我將-not \( -iname "._*" \)添加到腳本時,它會忽略這些文件。

以下是更新后的腳本。

#/bin/sh
rm -f /media/PATH_TO_PREROLL_THAT_PLEX_CAN_READ/preroll.mp4
find /media/joshua/Media/PlexPrerolls/ -maxdepth 1 -not -type d -not \( -iname "._*" \) | sort -R | tail -1 | while read FILE; $
ln -s "$FILE" /media/PATH_TO_PREROLL_THAT_PLEX_CAN_READ/preroll.mp4 ;
done

另外,我忘了在我原來的帖子中說我最初是從: https://www.reddit.com/r/PleX/comments/arccd7/better_way_to_randomize_plexrolls/

萬一有人因為搜索引擎或其他原因到達這里,我已經創建了指令來實現此腳本以實現其預期目的: https://www.reddit.com/r/PleX/comments/fyoqh4/randomizing_prerolls_on_linux/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM