"echo -n" works fine when executing script with bash, but not with sh
bash, echo, macos
Solution
From `man echo`:
Some shells may provide a builtin echo command which is similar or identical to this utility. Most notably, the builtin echo in sh(1) does not accept the -n option. Consult the builtin(1) manual page.
In bash, the Bourne-again shell, `echo` accepts the `-n` option whereas in sh, the Bourne shell, `echo` does not, so it simply echos everything you wrote, including the -n.
Problem
How come `sh UsersInput.sh` gives a different output compared to `bash UsersInput.sh`? My script is below: ``` #!/bin/bash echo -n "Enter: "; read usersinput; echo "You entered, \"$usersinput\""; ``` bash ``` localhost:Bash henry$ bash UsersInput.sh Enter: input You entered, "input" ``` sh ``` localhost:Bash henry$ sh UsersInput.sh -n Enter: input You entered, "input" ``` How come `-n` behaves properly with the first, but not with the second? What's the reason for this and is there a workaround?