我使用的是synology DS 218,希望创建一个脚本来调用jdupes,它会自动排除特定的目录。
jdupes -rA -X nostr:"somepath/with spaces" -X nostr:"and/some other path" "/mydir"
但是将-X nostr:"somepath/with spaces" -X nostr:"and/some other path"
部分保存在一个变量中,因为我在脚本中多次调用jdupes,并且只希望在一个位置保存排除的目录。
这是我尝试的基础:
excluded_path='-X nostr:`somepath/with spaces`'
jdupes -rAm $excluded_path "/mydir"
我尝试了不同的版本,例如
excluded_path="-X nostr:'somepath/with spaces'"
excluded_path="-X nostr:/"somepath/with spaces\""
excluded_path='-X nostr:"somepath/with spaces"'
还有一些,每次我尝试使用带有和不带有“”的$excluded_path时
1条答案
按热度按时间h5qlskok1#
应将命令行参数存储在数组中。
就shell而言,
-X
及其参数nostrum:somepath/with spaces
是两个独立的参数(jdupes
决定了这些参数的含义以及如何使用它们)。扩展"${...[@]}"
确保在构建自变量列表时将每个元素视为不同的字。