diff options
-rwxr-xr-x | colour_test | 4 | ||||
-rwxr-xr-x | pb | 30 |
2 files changed, 28 insertions, 6 deletions
diff --git a/colour_test b/colour_test index 57831f5..cbcd390 100755 --- a/colour_test +++ b/colour_test @@ -5,3 +5,7 @@ source ./pb printf %b "$(pb_bg 196)$(pb_fg 254) RED $(pb_nc)\n" + +printf %b "$(pb_bg ABC)$(pb_fg 254) RED $(pb_nc)\n" + +printf %b "$(pb_bg )$(pb_fg 254) RED $(pb_nc)\n" @@ -1,21 +1,39 @@ #!/usr/bin/env bash +# is int +pb_isint() { + if [[ $1 =~ ^[0-9]+$ ]] ; then + return 0 + else + return 1 + fi +} + +# is number +pb_isnum() { + if [[ $1 =~ ^[+-]?([0-9]+([.][0-9]*)?|\.[0-9]+)$ ]] ; then + return 0 + else + return 1 + fi +} + # 256 colour functions # usage: # source ./pb # printf %b "$(pb_bg 196)$(pb_fg 254) RED $(pb_nc)\n" -pb_nc () { +pb_nc() { printf '\033[0;0m'; exit; } -pb_fg () { +pb_fg() { - if [ -z "$1" ] || ! [ "$1" -eq "$1" ] >/dev/null 2>&1; then + if [ -z "$1" ] || ! pb_isint "$1" ; then return 1 fi - + local x x=$(tput colors) @@ -27,9 +45,9 @@ pb_fg () { } -pb_bg () { +pb_bg() { - if [ -z "$1" ] || ! [ "$1" -eq "$1" ] >/dev/null 2>&1; then + if [ -z "$1" ] || ! pb_isint $1 ; then return 1 fi |