linux - getting error with bash script for env variables -
this question has answer here:
i using conditional in bash script
if [ $use_test -eq 1 ]; echo "hello" fi
where pass use_test
environment variables
.
if pass env variable shell executes ok if don't have variable this
[: -eq: unexpected operator
how can fix that
this 1 of matter quotes important; when $use_test not defined, statement expands to:
if [ -eq 1 ];
the common fix:
if [ "$use_test" -eq 1 ];
...though imply switching string comparison, because -eq
break empty string:
if [ "$use_test" = 1 ];
but may consider using [[
(which bash builtin) or ${use_test:-0}
(which specifies default value).
Comments
Post a Comment