ちょっと疑問に思ったことを調べた

echo の n オプションがスクリプト書くと反映されていなかった。なので、ちょっと調べた

% which echo
echo: shell built-in command
% cat > test.sh && chmod u+x test.sh && ./test.sh
which echo
/bin/echo

そもそも違うechoが実行されていたようだ。
ちなみに

% echo ${SHELL}
/usr/local/bin/zsh

である。
結果としてbuilt-inのechoは-nが使える。

#! /usr/local/bin/zsh
# test.sh with zsh
echo -n test
echo test
% ./test.sh
testtest

でもshだと

#! /bin/sh
# test.sh with sh
echo -n test
echo test
% ./test.sh
-n test
test