[Skript] Macports-bash Ausgabe eines bash-skripts

stenser

stenser

Aktives Mitglied
Thread Starter
Dabei seit
21.10.2003
Beiträge
782
Reaktionspunkte
2
Halle Leute.

folgendes Skript:
Code:
echo -n "  ["
COUNTER=0
while [  $COUNTER -lt $maxper ]; do
	if [ $COUNTER -lt $PER ]; then
		echo -n "="
	else
		echo -n "-"
	fi
	let COUNTER=COUNTER+1
done
echo "]"

lieferte mir vor der Umstellung zu Lion noch korrekterweise (bzw. wie erwartet) sowas wie

Code:
[====-------------]

Jetzt, da Darwin auf Version 11.0 gehoben wurde und ich die Macports-bash aktualisiert habe, ergibt die Ausgabe sowas wie

Code:
-n   [
-n =
-n =
-n =
-n =
-n -
-n -
-n -
-n -
...
-n -
-n -
-n -
]

Wieso werden jetzt nach den Zeichen jeweils Zeilenumbrüche eingefügt? Bzw... Wieso wurden die vorher nicht eingefügt (was bei meinem Kenntnisstand logischer ist)?

VG
stenser
 
Sieht so aus, als ob 'echo' die Option '-n' (= kein Zeilenumbruch) nicht mehr kennen würde. Was sagt denn die Manpage ('man echo')?
 
dort steht -n (verhindern von umbrüchen) noch drin. Funzen tut es nicht.

-> Übrigens als einzige Option. Habe es mit einem Workaround lösen können und hänge den Strings \c an. Diese Lösung gefällt mir aber nur bedingt, da es an sich gehen sollte und damit auch auf linux funktioniert.


VG
stenser
 
Es gibt ein Programm echo (man echo) und ein bash builtin echo (man bash).

Was macht denn Dein Skript bei '/bin/echo -n ...'?

Auch 'man bash | less +/echo' könnte u.U. Aufschluss geben.
 
  • Gefällt mir
Reaktionen: stenser
"/bin/echo -n ..." funktioniert.

Inwiefern hilft mir "man bash | less +/echo"?
 
Es kann Dir Aufschluss darüber geben, ob in der von Dir verwendeten Version der bash der Schalter -n noch unterstützt wird.
Musst nur achtgeben, dass auch wirklich die manpage der von Dir nachinstallierten bash aufgerufen wird.
 
Zurück
Oben Unten