Search code examples
bashuser-input

bash user input if


I am trying to do a simple question in bash:

Do you want to do that? [Y,n] _

Tried

echo "Do that? [Y,n]"
read DO_THAT
if ["DO_THAT"="y"]; then
  do_that
fi

but it fails: bash: [y=y]: command not found

what am I doing wrong??!


Solution

  • You might consider explicit prompting: -p and specifying 1-character-input -n1 which allows to insert y without ENTER.

    read -n1 -p "Do that? [y,n]" doit 
    case $doit in  
      y|Y) echo yes ;; 
      n|N) echo no ;; 
      *) echo dont know ;; 
    esac