Improved listAndReturn()

If there is nothing to $2, it prints an error message.
If there is only one thing to $2, it selects it.
If there are more things to $2, it functions like it did.
This commit is contained in:
Christian E. Häußler 2019-08-13 17:30:02 +02:00 committed by GitHub
parent 40d0aa2883
commit d4155934e8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 11 additions and 5 deletions

16
lb
View File

@ -27,11 +27,17 @@ newpost() { read -erp "Give a title for your post:
[ -f "$webdir/blog/$url.html" ] && echo "There is already an existing published entry of that same name/URL." && exit
$EDITOR "$webdir/blog/.drafts/$url.html" ;}
listandReturn() { printf "Listing contents of %s.\\n" "$1"
ls -rc "$1" | awk -F '/' '{print $NF}' | nl
read -erp "Pick an entry by number to $2, or press ctrl-c to cancel. " number
chosen="$(ls -rc "$1" | nl | grep -w "$number" | awk '{print $2}')"
basefile="$(basename "$chosen")" && base="${basefile%.*}" ;}
listandReturn() {
filecount=$(ls "$1" | wc -l)
[ $filecount -eq 0 ] && echo "There's nothing to $2." && exit 1
number=1
[ $filecount -eq 1 ] || {
ls -rc "$1" | awk -F '/' '{print $NF}' | nl
read -erp "Pick an entry by number to $2, or press Ctrl-C to cancel. " number
}
chosen="$(ls -rc "$1" | nl | grep -w "$number" | awk '{print $2}')"
basefile="$(basename "$chosen")" && base="${basefile%.*}"
}
publish() { \
delete