我正在使用 bash 脚本来调用rsync
命令。决定在名为 的数组中收集一些选项oser
。这个想法是查看两次调用中的不同之处并将其放入数组中,而不是将所有常见选项放入数组中。
现在我想添加 --backup 可能性,rsync
并对如何实施感到困惑
oser=()
(( filetr_dryrun == 1 )) && oser=(--dry-run)
if (( filetr_dryrun == 1 )); then
rsync "${oser[@]}" -av --progress --log-file="$logfl" "$source" "$destin"
elif (( filetr_exec == 1 )); then
rsync "${oser[@]}" -av --progress --log-file="$logfl" "$source" "$destin"
else
rsync "${oser[@]}" -av --progress --log-file="$logfl" "$source" "$destin"
fi
答案1
这个怎么样:
# "always" options: you can put any whitespace in the array definition
oser=(
-av
--progress
--log-file="$logfl"
)
# note the `+=` below to _append_ to the array
(( filetr_dryrun == 1 )) && oser+=( --dry-run )
# now, `oser` contains all the options
rsync "${oser[@]}" "$source" "$destin"
现在,如果您想添加更多选项,只需将它们添加到初始oser=(...)
定义中,或者如果有某些条件,请使用oser+=(...)
附加到数组。