diff options
| author | danix <danix@danix.xyz> | 2023-03-25 08:29:00 +0100 |
|---|---|---|
| committer | danix <danix@danix.xyz> | 2023-03-25 08:29:00 +0100 |
| commit | 61c919904c5484b6207d264b351d31b627f25de4 (patch) | |
| tree | 80f022a021ab3b285807119981fc6b852da6a815 | |
| parent | 0ade724f20b8cfa423dfa26168f8d72a96554a46 (diff) | |
| download | bash-notes-61c919904c5484b6207d264b351d31b627f25de4.tar.gz bash-notes-61c919904c5484b6207d264b351d31b627f25de4.zip | |
Added check to verify if note argument is an integer
modified: notes.sh
| -rw-r--r-- | notes.sh | 31 |
1 files changed, 27 insertions, 4 deletions
@@ -56,6 +56,19 @@ fi # create PIDFILE echo $PID > $PIDFILE +# check if input is a number, returns false or the number itself +function check_noteID() { + IN=$1 + case $IN in + ''|*[!0-9]*) + return 1 + ;; + *) + echo $IN + ;; + esac +} + function helptext() { echo "Usage:" echo " $0 [PARAMS] ..." @@ -113,8 +126,15 @@ function listnotes() { } function editnote() { - TITLE=$($JQ --arg i $1 '.notes[] | select(.id == $i) | .title' $DB) - FILE=$($JQ -r --arg i $1 '.notes[] | select(.id == $i) | .file' $DB) + NOTE=$1 + local OK=$(check_noteID $NOTE) + if [ ! $OK ]; then + echo "invalid note \"$NOTE\"" + exit 1 + fi + + TITLE=$($JQ --arg i $OK '.notes[] | select(.id == $i) | .title' $DB) + FILE=$($JQ -r --arg i $OK '.notes[] | select(.id == $i) | .file' $DB) if [ "$TITLE" ]; then echo "editing note $TITLE" $(${TERMINAL} --class notes --title notes -e ${EDITOR} ${NOTESDIR}/${FILE}) @@ -125,14 +145,17 @@ function editnote() { } function datenote() { - echo "edit date for note \"${1}\"" + NOTE=$1 + local OK=$(check_noteID $NOTE) + [ $OK ] && echo "editing date for note $OK" || echo "invalid note \"$NOTE\"" # FILEDATE=$(date -d @$NOW +%d/%m/%Y_%T) } function rmnote() { NOTE=$1 - echo "removing note $NOTE" + local OK=$(check_noteID $NOTE) + [ $OK ] && echo "removing note $OK" || echo "invalid note \"$NOTE\"" } function export_config() { |
