Options
使用 bash 數組添加選項
我正在使用 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
這個怎麼樣:
# "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+=(...)
附加到數組中。