Ich schreibe gerade ein Bash Testing Framework, das so portabel wie möglich sein soll.Was ist tragbarer? Echo -e oder Verwendung von Printf?
So, an einem Punkt, musste ich eine führende Newline gefolgt von etwas Text drucken, der mehrere erweiterte Variablen enthält. Dies ist die Lösung, die ich verwendet habe.
Dies scheint in Ordnung, aber ich bin mir nicht sicher, wie tragbar das im Vergleich zum Drucken der Linie mit z. printf
?
Irgendwelche Ideen oder Hinweise, wo ich einige Hinweise finden könnte?
von ‚tragbar‘ , meinst du portabel zwischen verschiedenen shells (was bedeutet nicht bash) oder zwischen verschiedenen bash-versionen? –
Nicht klar, wie ein Bash Testing Framework mit etwas anderem als bash kompatibel sein muss. Ich denke, vielleicht ist Ihr Punkt, dass einige OS printf nicht haben, und als solche ist wirklich nicht Teil der bash, sondern bietet Inkompatibilitäten? Haben Sie untersucht, wie viel Arbeitskompatibilität in der Implementierung von autoconf und ./configure steckt? Warum nicht nur ein paar Tests oben, 'wenn [[! -f/bin/printf]]; echo -e "bitte habe printf installiert, bevor du den Rest dieses Skripts ausführst"; Fi ?? Viel Glück. – shellter
Ich glaube 'printf' ist technisch immer noch portabler, weil das Standard' xpg_echo' Verhalten zwischen den Plattformen sogar innerhalb von Bash variieren kann (also können Sie es explizit setzen, wenn Sie wirklich wollen.) – ormaaj