hope this helps.
Did you pull this command out of an existing script?
Breaking it down - it calls sqlplus and the -s is
-S[ILENT]
Suppresses all SQL*Plus information and prompt
messages, including the command prompt, the
echoing of commands, and the banner normally
displayed when you start SQL*Plus.
Use SILENT to invoke SQL*Plus within another program so
that use of SQL*Plus is invisible to the user.
then the dev/null sends it to nowhere land and the set echo on would display information to the screen.
found this in a script from the web:
# Note: To diagnose problems in the following PL/SQL script, change the
# following sqlplus invocation line to: sqlplus $USERPW <<!EOD
# in order to display any error messages to the screen. Note that you will
# also see a log of line continuation counters - This is normal when running
# SQL*Plus via a Unix "here document".
#
sqlplus -s $USERPW >/dev/null<<!EOD