Executing multi-line statements in the one-line command-line?
This style can be used in makefiles too (and in fact it is used quite often).
python - <<EOF
import random
for r in range(3): print(random.randint(1, 42))
EOF
Or with hard tabs:
python - <<-EOF
import random
for r in range(3): print(random.randint(1, 42))
EOF
# Important: Replace the indentation above w/ hard tabs.
In above case, leading TAB characters are removed too (and some structured outlook can be achieved).
Instead of EOF can stand any marker word not appearing in the here document at a beginning of a line (see also here documents in the bash man page or here).
You could do
echo -e "import sys\nfor r in range(10): print 'rob'" | python
Or without pipes:
python -c "exec(\"import sys\nfor r in range(10): print 'rob'\")"
Or
(echo "import sys" ; echo "for r in range(10): print 'rob'") | python
Or SilentGhost's answer or Crast's answer.