Read more

Bash: How to only do things in interactive shells

Thomas Eisenbarth
December 06, 2013Software engineer at makandra GmbH

When you print something from within your .bashrc file you will run into trouble when copying something onto your machine using scp for example.

Illustration web development

Do you need DevOps-experts?

Your development team has a full backlog? No time for infrastructure architecture? Our DevOps team is ready to support you!

  • We build reliable cloud solutions with Infrastructure as code
  • We are experts in security, Linux and databases
  • We support your dev team to perform
Read more Show archive.org snapshot

This is because the output from your .bashrc interferes with scp. The solution is to decide whether the bash shell is started interactively (you start a terminal on your screen) or not (scp).

if [ ! -z "$PS1" ]; then
  # This happens in interactive shells only and does not interfere with scp.
  echo "Learn!"
fi
Posted by Thomas Eisenbarth to makandra dev (2013-12-06 11:05)