}
function GRML_theme_add_token_usage () {
- cat <<__EOF__
+ cat <<__EOF0__
Usage: grml_theme_add_token <name> [-f|-i] <token/function> [<pre> <post>]
<name> is the name for the newly added token. If the \`-f' or \`-i' options
After that, you will be able to use a changed \`items' style to
assemble your prompt.
-__EOF__
+__EOF0__
}
function grml_theme_add_token () {
if [[ -L /usr/bin/cdrecord ]] || ! check_com -c cdrecord; then
if check_com -c wodim; then
cdrecord() {
- cat <<EOMESS
+ cat <<__EOF0__
cdrecord is not provided under its original name by Debian anymore.
See #377109 in the BTS of Debian for more details.
Please use the wodim binary instead
-EOMESS
+__EOF0__
return 1
}
fi
bk() {
emulate -L zsh
local current_date=$(date -u "+%Y-%m-%dT%H:%M:%SZ")
- local clean keep move verbose result all
+ local clean keep move verbose result all to_bk
setopt extended_glob
- usage() {
- cat << EOT
+ keep=1
+ while getopts ":hacmrv" opt; do
+ case $opt in
+ a) (( all++ ));;
+ c) unset move clean && (( ++keep ));;
+ m) unset keep clean && (( ++move ));;
+ r) unset move keep && (( ++clean ));;
+ v) verbose="-v";;
+ h) cat <<__EOF0__
bk [-hcmv] FILE [FILE ...]
bk -r [-av] [FILE [FILE ...]]
Backup a file or folder in place and append the timestamp
the last one is used.
The return code is the sum of all cp/mv/rm return codes.
-EOT
- }
- keep=1
- while getopts ":hacmrv" opt; do
- case $opt in
- a) (( all++ ));;
- c) unset move clean && (( ++keep ));;
- m) unset keep clean && (( ++move ));;
- r) unset move keep && (( ++clean ));;
- v) verbose="-v";;
- h) usage;;
- \?) usage >&2; return 1;;
+__EOF0__
+return 0;;
+ \?) bk -h >&2; return 1;;
esac
done
shift "$((OPTIND-1))"
if (( keep > 0 )); then
- while (( $# > 0 )); do
- if islinux || isfreebsd; then
- cp $verbose -a "${1%/}" "${1%/}_$current_date"
- else
- cp $verbose -pR "${1%/}" "${1%/}_$current_date"
- fi
- (( result += $? ))
- shift
- done
+ if islinux || isfreebsd; then
+ for to_bk in "$@"; do
+ cp $verbose -a "${to_bk%/}" "${to_bk%/}_$current_date"
+ (( result += $? ))
+ done
+ else
+ for to_bk in "$@"; do
+ cp $verbose -pR "${to_bk%/}" "${to_bk%/}_$current_date"
+ (( result += $? ))
+ done
+ fi
elif (( move > 0 )); then
while (( $# > 0 )); do
mv $verbose "${1%/}" "${1%/}_$current_date"
done
elif (( clean > 0 )); then
if (( $# > 0 )); then
- while (( $# > 0 )); do
- rm $verbose -rf "${1%/}"_[0-9](#c4,)-(0[0-9]|1[0-2])-([0-2][0-9]|3[0-1])T([0-1][0-9]|2[0-3])(:[0-5][0-9])(#c2)Z
+ for to_bk in "$@"; do
+ rm $verbose -rf "${to_bk%/}"_[0-9](#c4,)-(0[0-9]|1[0-2])-([0-2][0-9]|3[0-1])T([0-1][0-9]|2[0-3])(:[0-5][0-9])(#c2)Z
(( result += $? ))
- shift
done
else
if (( all > 0 )); then