foo bar, oder auch foobar, steht für alles mögliche, kleines Beispiel:
<hans> "portupgrade foo" funktioniert nicht
"hans" will uns damit sagen dass egal welche Zeichenfolge er an "portupgrade" übergibt das Programm nicht richtig funktioniert, "foo" steht hier also für "irgendetwas". Genauso läuft das mit "bar". Meist werden diese Bezeichnungen für Beispiele verwendet, z.B.:
<hans> hubert: If Anweisungen funktionierten so: "if ( foo == bar) { printf("%s", foo); } "
Damit will der "hans" dem "hubert" mitteilen dass er an eine IF Anweisung minderstens 2 Argumente, die hier als "foo" und "bar" bezeichnet werden übergeben muss, damit sie richtig verarbeitet werden kann. Hubert weis dann, dass er "foo" und "bar" gegen die Zeichenreihenfolgen die er verwendet ersetzen muss.
Ich hoffe ich habs einigermassen gut rübergebracht